Fix notifications in thread list.

Ensure they come in on the main thread, and that they're unregistered in
-dealloc.
Formatting.
Don't try to update thread tags on missing cells.

This can happen if e.g. we look for a tag for a page 2 thread, then refresh the
thread list, so the page 2 thread's cell isn't shown anymore. I think this
results in a crash.
More external browsers.
Fix split view weirdness in iOS 5.1.
Fix tab bar controller on view load.

If we've already selected a view controller, we need to add it when the view
loads. Especially important in iOS 5, where a memory warning causes the view to
disappear.
Simplify updating threads from parsed info.

In case we get multiple threads for some reason, this'll handle it now.
Fix duplicate/missing threads.

This was especially noticeable on the bookmarked threads screen.

If a thread gets moved and updated at the same time, we temporarily have a
mismatch between the table view cell's index path and the corresponding fetched
results controller object's index path. (This happens because we're within a
UITableView update block–so cell index paths won't change until the update block
ends–but the fetched results controller uses the new index paths immediately.)

The fix is to configure the cell at the "old" index path with the object at the
"new" index path. Oddly, the template implementation for
NSFetchedResultsControllerDelegate provided by Apple does not take this issue
into account.

The clue here was noticing that the indexPath and newIndexPath parameters didn't
always match when the change type was "update".
Fix null threads in thread/bookmark lists.

Sometimes NSFetchedResultsController doesn't give a newIndexPath for an update.
Remove "Keep Sidebar Open" setting.

Just show it in landscape, hide it in portrait.

I could not get UISplitViewController to hide/show the master view immediately
on changing the setting, and I could not get the setting to take effect
consistently on both iOS 5 and iOS 6 without quitting and reopening the app.
This seems like the most sane setting, so let's just leave it.
Don't re-add child view controller in tab view.

Just need to add the view in -loadView, not the child view controller stuff.
Doesn't seem to do any harm, but this feels more right.
Tab view doesn't spuriously load its view.
Animated gif support in image preview

fixes #119
Don't re-download animated gifs.

Just get the data once, then check if we can animate it.
Built-in browser can go back and forth.

Fixes #148.
Fix build instructions in readme.
Don't animate going to Awful thread from settings.

Matches going to threads from other places.
Revert "Remove "Keep Sidebar Open" setting."

This reverts commit 56b996be72d5e296e38f5358919275dc08199b05.

This is probably one of those settings that gets changed once then left alone,
so something that half works beats nothing at all.
Clarify "Keep Sidebar Open" explanation on iOS 5.

Best I could figure out with UISplitViewController.
"Keep Sidebar Open" defaults to "Landscape".