client: Raise exception when calling create on closed client

If the client is closed the completion queue is never emptied and thus
the create_completion callback for create_async is never called.

This causes a deadlock/zombie thread in the code when trying to call
create, as it keeps on waiting the condition which will never get
notified.

This patch will check if the async_result from _create_async_inner gets
exception set immediately and propagate that one to the caller of
create_async.

Thanks to @jclopes for helping to solve this
Only raise exception in case of exceptions that _call raises
Fix silly typos and make the code a tad simpler.

In the end, we are only interested in the ConnectionClosed state, as
that is the only state when the completion queue won't be depleted.
create: Make detecting _call short circuit more deterministic
Merge pull request #139 from nailor/fix-create-closed-client

client: Raise exception when calling create on closed client