When fetching a feed, entries already in the database will be ignored.

Previously the entries already in the db were updated with the data fetched from the feed. In the vast majority of cases these will be feeds that do not honor HTTP caching headers and send the full list of entries every time, and the information passed to the db update will be exactly the same already in the db, making such updates generally a waste of resources. It's reasonable simply to ignore them.
Removed the cleanup of old entries from the database.

This caused a lot of trouble. There are some feeds (e.g. http://www.giantitp.com/comics/oots.rss) that return the full list of entries ever published every time they are fetched. We would need some way to distinguish, when new entries are fetched, if they are really new entries (which we should save) or if they are actually very old entries we have already deleted from the database (which we should ignore).

Currently there is no easy way for the app to differentiate between new and old-but-already-deleted entries unless it stores some information about every entry that has ever been saved in the database. Going down this route, the easiest way to achieve this is just keeping entries in the database forever.

This is certainly not optimal but right now it works and probably makes the problems with "ghost" entries reappearing go away. If in the future database size becomes a problem we can try some other solution, like moving data to a secondary storage or just keeping the guid/feed_id of entries deleting their contents and summaries, which are the biggest fields.