Topic/blaze client timeout

This pull request deals with the implementation of the blaze client. Specifically,
* Adds ability to specify a timeout for the ___total request___ with a default of 60 seconds
* Adds ability to specify the client `ExecutionContext` with a default of a thread local trampoline EC

In another life, I would probably just merge this one, but I think it deserves at least a cursory look by someone before its merged.