afs: Pass sideband error packet on callback failures.
This changes the afs callback mechanism to honor negative return
values from a callback. We now send a special "callback failure"
sideband packet to the command handler in this case. This packet
contains the (negative) return value of the callback.
The dispatcher for afs callback results reads the error code and passes
it back via the callback request functions to the caller of the command
handler in handle_connect(). The latter already does the right thing:
It translates the error code into a string and sends this string to
the client.
This commit changes the callback of the ls command to return negative
on errors. With the patch applied the command
para_client ls /does/not/exist
now exits with status 1.
Other afs commands will make use of the new feature in subsequent
commits.