[JRO] Get search working

TODO: integration test coverage for searching
[JRO] Refactor the tracking of users' read history

What a mess. Instead of too much responsibility in one class this has
been split up into a few more single-responsibility classes

* Send user to the farthest page from the topics listing, not from
  within the topic (or posts index) itself. Stupid.
* Add a page param to routes pointing to posts#index
* WIP. Extract data clump to its own decorator
  Topic and user were a logical pairing throughout several spots and
  should be treated as a single conceptual object - a user_topic. Wrapping
  a decorator around those helps encapsulate logic for the view.