Fetch support.

This supersedes #203.

It looks mostly ready so I'm open to suggestions. It misses tests (again :-S) and documentation.
I think I added that because I was being a little `SIGTERM` happy while debugging, and the removal only happens before so the test would fail. I'll remove it though, it's useless now.