Merge pull request #29 from jacobkiers/refactor-client-handler

Refactor ClientHandler.
Bugfix: Client\Request does not have ::hasResult.

The Request::hasResult property does not exits. Instead, it is called
::hasResponse.

Because of this, the result of method Request::hasResponse() is never
'true'. This potenially results in having to request the result over and
over again.

Signed-off-by: Jacob Kiers <jacob@alphacomm.nl>
Instantly send result to client if it is available.

If the ClientHandler knows the result for the request that the Client
wants to execute, it now sends it back immediately.

This improves efficiency, but slightly changes the (nondocumented)
contract between the Client and the ClientHandler. It does not change
the actual behaviour of the Client, though.

Signed-off-by: Jacob Kiers <jacob@alphacomm.nl>