Do not set stream as readable after connect with pending commands.
Rework callbacks handling in both client and connection classes.

Callbacks are required for the connect() and executeCommand() methods,
but they are still optional when using Client::__call(). Furthermore,
Client::connect() is still optional and commands will be queued by the
client while the underlying connection is being established.