Made download_selections a method on fetcher
Added Feed_cache.parse_feed_url
Moved some feed mirror logic to OCaml

When the primary site fails, we now always report the error immediately
to the user (before we delayed the error until we had the mirror's reply
too).

Also, if the mirror replies before the primary, we now re-solve with the
new feed immediately. Before, we waited for the primary to fail first.