WIP: perform cached unread entries count calculations with mass count operations when possible, instead of using activerecord callbacks every time an EntryState instance is created, destroyed, or changes state.

Working with activerecord callbacks to keep the unread entries count up to date is failure-prone and very slow. E.g. when subscribing to a feed, we were doing a SQL update for EACH entry in the feed, to increment the unread_entries field by 1 every time. It is much more efficient to remove those callbacks and, when subscribing, just do a SQL count and a single SQL update after adding the feed to the user's subscpritions (thanks to callbacks, when adding a feed to a user's subscriptions, an EntryState with read=false is created for each entry in the feed).
Explicit return value in all SubscriptionManager methods.
Added the /lib folder to the autoload paths (only relevant in development).
Update unread entries count when changing read/unread state for a single entry.
Recalculate the unread entries count after changing read/unread state for all entries in a feed.
Recalculate the unread entries count after changing read/unread state for all entries in a folder.
Recalculate the unread entries count after changing read/unread state for all entries in all subscribed feeds.
In angularjs code, when setting the unread count for a feed to zero, first search for it in the feeds list stored in the root scope.

Previously the angularjs service acted on the currently selected feed. The problem is that if an automatic client refresh (every minute) has happened between selecting the feed and marking all its entries as read, the object for the feed could be a different object instance. We have to search the actual object for the list using its id, and then set the count to zero in that object.
Recalculate the unread entries count for all subscribed users after a manual refresh of a feed.

Note.- if many users are subscribed this could be an expensive operation. Manual refresh is clearly becoming a candidate for turning into a background job.
Corrected default locale for FactoryGirl-created users.
WIP: fix acceptance tests.

A lot of test setups have been broken because they operated under the assumption that just by adding entries to a feed, the unread entries count for all subscribed users would be updated.

In most cases the fix is to subscribe users AFTER adding entries to feeds, during test setup.
Fixed tests to account for the fact that unread entries count in feeds is not updated automatically by EntryState model callbacks anymore.
Before removing the current feed from the angularjs scope during unsubscribing, retrieve the actual feed object from the current feeds list.

This is intended for the case in which between the user clicking on the feed and him clicking on "unsubscribe", an automatic refresh of the client (every minute) happens. This would mean that a feed object with the same id as the selected one will be in the scope, but it will not be the same object that was stored in the current_feed variable.
Angulajs service only tries to unsubscribe from the current feed if a user has actually selected a current feed for reading.
Moved angularjs functions related to hiding read feeds and removing a feed from a folder to their own service.
As much as reasonable, angularjs code accesses the currently selected feed through the currentFeedSvc service instead of directly accessing the $rootScope.current_feed variable.

This is because after an automated client refresh (every minute), the feeds list is recreated and the object stored in the $rootScope.current_feed variable is no longer in the feeds list. Going through the currentFeedSvc.get() function ensures that a feed object actually present in the feeds list is correctly returned.
Fixed typo when invoking angularjs service.
Added missing injection of $filter service in cleanupSvc angularjs service.
Fix in acceptance test: subscribing user to folder in test setup should be done after adding entries to the feed.