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
- [x] forced login -- a comment about ideas for that [here](https://github.com/hypothesis/h/issues/1020#issuecomment-53400218)

If only those divs had a class! ;)

e7d71fb126bb8d37b5b74635f299282de5e9b023

On Tue, Sep 16, 2014 at 5:43 AM, Aron Carroll <notifications@github.com>
wrote:

> In h/static/styles/threads.scss:
>
> >      }
> >
> > -    & > .annotation {
> > -      markdown > div > * {
> > -        display: none;
> > -      }
> > -
> > -      markdown > div > *:first-child {
> > +    & > .thread-message {
> > +      .thread &, .thread & header, .thread & section { margin: 0 }
> > +      .thread & footer { display: none }
> > +      [markdown] > div > * { display: none }
> > +      [markdown] > div > *:first-child {
>
> These selectors are really fragile. It would be better to add classes to
> the markdown element and the div.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/hypothesis/h/pull/1436/files#r17598214>.
>