remote: provide read access to the callback structure

This should make it easier for bindings to dynamically override their
own callbacks.
transports: allow the creds callback to say it doesn't exist

Allow the credentials callback to return GIT_PASSTHROUGH to make the
transports code behave as though none was set.

This should make it easier for bindings to behave closer to the C code
when there is no credentials callback set at their level.
Merge pull request #2282 from libgit2/cmn/remote-easier-bind

A few niceties for binding authors