Fetch support.

This supersedes #203.

It looks mostly ready so I'm open to suggestions. It misses tests (again :-S) and documentation.
But is this essential or related to the `GTBranch` object at all? It seems like it could just be looked up separately if the caller really wants it.