Client to bundle configuration needed for API requests.
Stores credentials and an HTTP object so that subclasses
can pass them along to a connection class.
If no value is passed in for _http, a requests.Session object
will be created and authorized with the credentials. If not, the
credentials and _http need not be related.
Callers and subclasses may seek to use the private key from
credentials to sign data.