datastore: support deferred results. fixes #77.
connection: allow passing a credentials object. fixes #136.