WIP Overhaul view and sort behavior

Big changes to view, sort, routing, filtering, etc, etc, etc...

Todo
-------
- [x] stream search -- race between $scope.updater and stream controller, need to send the filter
- [x] page search -- simple matter of fixing the ugly ng-show conditions at the bottom of the viewer template perhaps with more verbose, obvious variables, or scope/controller functions to abstract the route details from the template a bit
- [x] Check on https://github.com/hypothesis/h/pull/1436#discussion_r16705832 (leave as is 2014-08-29)
- [x] Restore "no results for “query”" message.
- [x] Annotations don't watch for changes
- [ ] forced login -- a comment about ideas for that [here](https://github.com/hypothesis/h/issues/1020#issuecomment-53400218)
- [ ] Card emphasis on highlight hover
- [ ] Redaction

One question here: does this handle well the situation when a new root annotation and its reply arrives within the same data package, and the reply is first in the data package?

I know, currently our ES queries makes a descending ordering via the updated field, but can our client rely on that? Because if that not happens, then we'd try to load the reply first and we would unable to put it in our thread because the parent is missing, and just after that we'd try to process its parent.

The old solution introduced that sort to prevent problems like that.