Added unread_entries column to the Folder model (and associated database table). It will serve as a cache of the unread entries count in the folder, instead of having to calculate it on each page load.

This should speed up application loading.

The migration that adds the column also populates it with the current count.

Pending: update this column each time it is appropiate (a new unread entry is added to a feed in the folder, an entry changes state unread->read, etc).
WIP: automatically update each folder unread entries count when appropiate (entries added etc).
WIP: automatically keep updated the unread entries count for each folder.
Unread entry count in folders is updated every time there is a change (a feed is added to the folder, an entry is marked as read, etc).

Still pending: unit tests for this functionality, when invoked from methods in the User model.
Fixed acceptance tests related to displaying to the user the count of unread entries in feeds and folders, to solve some timing issues.

These timing issues were introduced by the recent addition of callbacks to several models. We have to ensure all callbacks have finished running before starting to simulate user actions on the web page.

Also added logs for debugging in those places where unread entries counts change.
WIP: Unit tests for the User model, to test the cached unread entries count in folders.
Finished implementing unit tests for the User model, that test the automatic upkeep of the cached unread entries count for each folder.
The views now use the cached unread entries count for each feed, instead of executing an SQL count on every page load.

The only exception is the "all" folder, which is still counting records. I still have to implement caching in the DB the total numer of unread entries in all the feeds subscribed by a given user.