connection: allow passing a credentials object. fixes #136.

RE: #136 

All entry points now accept a `credentials` object, which just gets passed along to `Connection`.
That's how it started, then I tried to be cool. Will revert. *sniff*