Simplify thread management with a bounded thread count

Simpler thread management:
* set n worker threads
* serve all requests to worker threads via a shared mvar queue
* handle a request on a worker thread with a callback through the zmq Router
* eliminate pipelining

Benefits:
* less gc-ing of threads due to a fixed thread count

Potentially costs: 
* same requests will now all go to riak, all deserializing responses, potentially elevating gc