Fetch support.

This supersedes #203.

It looks mostly ready so I'm open to suggestions. It misses tests (again :-S) and documentation.
I'd leave it, as it's similar to how clone works (and options might be similar). Also, I think we should use the same constants for cloning and fetching as keys on the options dictionary.