Experiment with a recursive fetcher to cope with delegated targets.

Also playing around with a new Repository idea that I think might
replace MetadataStore.