Fetch support.

This supersedes #203.

It looks mostly ready so I'm open to suggestions. It misses tests (again :-S) and documentation.
This is definitely not a safe cast. Why can't we include an _actual_ `GTCredentialAcquireCallbackInfo` struct? (It doesn't seem to need to be a pointer within `GTRemoteConnectionInfo`.)