Supports sync and async requests. Async requests support onResponse,
onComplete, and onError handlers.
Supports a max-threads value to limit the number of activately
communicating threads over any connection. When max-threads is reached,
requests are queued and delivered as soon as there is room.
Note that since this is talking to the OpenSRF gateway and not the
translater, responses are simply collected and passed one at a time to
onResponse. They are not streamed. The goal of supporting onResponse
is to provide the same client API for both the gateway and translator.
Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Dan Scott <dscott@laurentian.ca>