Topic/blaze client timeout

This should actually do what was proposed.

* blaze clients can now take a timeout parameter which is the timeout for the _entire_ response
* ```ExecutionContext``` can be specified
* A few more tests