modify API to reuse HTTP connections via Manager

The one-connection-per-call design of this library leads to call failures, by way of TCP port exhaustion, when you make a continuous sequence of calls. I replaced Auth and callApi' with getClient, which lets the caller roll the url, credentials, and connection manager into a closure that can be used to make requests. I tested this scanning through the blockchain making ~1M calls without issue.