fetcher: fix site_url extraction for atom feeds
* prefer link with rel="alternate" over first link
* add resolve_url helper for relative URL handling
* resolves favicon 404s caused by using feed URL as site URL
Atom feeds can have multiple <link> elements - the "self" link points
to the feed itself while "alternate" points to the HTML site. Using
the first link (often "self") caused favicon fetches to construct
invalid URLs like feed.xml/favicon.ico.