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)

I'd rather keep it the way it is. If coffee had support for real getters
and setters I would use that. But I'd rather have the symmetry of it always
be a function than use it as a property and a setter.

The pattern isn't unfamiliar for anyone who's used jQuery and Angular's
$location service does something similar. Granted, these are places where a
getter is required because it's not a simple property access, but the
pattern isn't one I have a problem with here.

On Tue, Sep 16, 2014 at 4:04 AM, Aron Carroll <notifications@github.com>
wrote:

> In h/static/scripts/directives/threadFilter.coffee:
>
> > +    @_frozen = false
> > +
> > +    ###*
> > +    # @ngdoc method
> > +    # @name threadFilter.ThreadFilterController#active
> > +    #
> > +    # @param {boolean=} active New state
> > +    # @return {boolean} state
> > +    #
> > +    # @description
> > +    # This method is a getter / setter.
> > +    #
> > +    # Activate or deactivate filtering when called with an argument and
> > +    # return the activation status.
> > +    ###
> > +    this.active = (active) ->
>
> This would be better having this as just a setter setActive(state) and
> using the active property as the getter.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/hypothesis/h/pull/1436/files#r17594792>.
>