Just reload the whole Forums table if there's more than four updates.
Swiften thread lists and back them with FetchedDataSource.

Slowly Swiftening everything, plus I like the FetchedDataSource better. The general structure of the thread lists is the same for now: a common, effectively abstract superclass with some specializations for bookmarks and for forum-specific threads. I'd like to reduce the ties between these two but this'll do for now.

The FetchedDataSource now defaults to simply reloading the entire table if there are more than a handful of updates to process. Processing many updates usually takes much longer than simply reloading the whole thing, and refreshing a thread list triggers changes to every item in the list.

I added a default DataSourceDelegate implementation to AwfulTableViewController that's partially shared by ForumListViewController and ThreadListViewController.

I renamed some AwfulForumTweaks methods for handier use from Swift.

Bonus: Thread.starCategory now deals with the actual AwfulStarCategory type instead of a bare Int16.
Always reload tables just before they appear.
Swiften MessageListViewController.

As it's the last one using AwfulFetchedResultsControllerDataSource, that can go too.

I finally just moved a "visible" property up to AwfulViewController and AwfulTableViewController, and did away with the little ad hoc ones throughout.

The NewMessageChecker is de-Awful-prefixed and has a simpler API that should hopefully do a better job of keeping the unread message count up-to-date.
Fix displaying username in messages view.

Combination of GRMustache safe key access stuff and missed work after adding the fromUsername to messages.