Small DRYing of the User.remove_feed_from_folder method.

Instead of building a query to retrieve the folder to which a feed belongs, the Feed.user_folder method is invoked.
Added code to the after-delete callback in the User.feeds association. When a feed is removed from a User.feeds association, the callback checks if there are other users subscribed to the feed, and in this case only deletes the entry-state records that stored read/unread information for the user and feed. Otherwise deletes the feed completely, which triggers the deletion of its entries and entry-states.

This means that as soon as a user unsubscribes from a feed, all information about read/unread entries that the app stores for that user and feed is deleted. And as soon as the last user unsubscribes from a feed, all data about that feed (including entries and their read/unread state) is deleted.

This change simplifies the User.unsubscribe method, because it had code that performed this function; this code has been deleted.
Added a before_remove callback to the User.feeds association. This callback removes a feed from its current folder, if any, before removing it from the user subscriptions.

Thanks to the callbacks in the Folder model, if the unsubscribed feed was the only one in the folder, a deletion of the folder is triggered.