Simplify ClientException

The __call() method is now responsible of properly parsing the remote
ZeroRPC error and throw a ClientException. If you want to get direct
access to ZeroRPC errors, use the invoke() method instead and inspect
the received event.
Add support for streaming