Fetch support.

This supersedes #203.

It looks mostly ready so I'm open to suggestions. It misses tests (again :-S) and documentation.
I can see why this is unsafe. But this is almost the same code as in `GTRepository.m` `+cloneFromURL...` method. I think the case to have an options dictionary is the same as there, so we can add `transportFlags` that are probably needed as well. Ideas?