giuseppe/refactoring fetch code

I am working on cleaning up the fetcher code.  I would like to have as few as possible entries to the metalink and ostree-fetcher modules, so it will be easier to move this code later in a separate process.

These patches just move code around, simplify some interfaces (and maybe make some others more difficult), I'll continue work on this, I am sending this merge request to not have too much code to maintain separately and in any case it is a NOOP.  All tests pass as before.