alfred: Report errors for request data back to client

The client must be able whether there was an error in requesting data or there
is just no data to return. The server will check whether the complete data was
returned and when not it will send an error status packet to the client.

Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
alfred: Only send txend when requested

The synchronization (master <-> master, local -> master) without data doesn't
require a txend because the remote would not have opened a transaction for it.
Therefore, sending a txend would only increase the network requirements.

Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
alfred: Directly finish request when transaction was finished

The unix socket client doesn't have to wait until the timeout is over when he
already has finished the transaction.

Signed-off-by: Sven Eckelmann <sven@open-mesh.com>