Make error reporting less ambiguous: report either "no connection" or
"not allowed on metered connection". Also show hint how to disable
network status checking altogether.
BUG: 475400
Otherwise this will block the DB for other actions. SQLITE should
always allow reads regardless of other ongoing actions/transactions (or
at least in WAL mode if I remember correctly).
Instead of always parsing the entire RSS/atom feed, we keep a hash of
the contents of the feed in the database. If the hash of the new feed
retrieval matches the hash in the database, we know nothing has changed
and we can skip the detailed parsing of the feed altogether.