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)

Ah. Right. Thanks. I was already filtering form elements in my own way, but
that's a bit better. Applied.

On Tue, Sep 16, 2014 at 2:25 AM, Aron Carroll <notifications@github.com>
wrote:

> In h/templates/thread.html:
>
> > +    </div>
> > +
> > +    <!-- Reply count -->
> > +    <a class="reply-count small"
> > +       href=""
> > +       ng-pluralize=""
> > +       ng-if="vm.container.children.length && !vm.container.more"
> > +       count="vm.container.flattenChildren().length"
> > +       when="{one: '1 reply', other: '{} replies'}" />
> > +
> > +    <!-- Bottom control strip -->
> > +    <a class="small magicontrol" href="" title="Reply"
> > +       ng-click="vm.reply(); $event.stopPropagation()"
> > +       ><i class="icon-reply"></i> Reply</a>
> > +    <a class="small magicontrol" href="" title="Share"
> > +       ng-click="vm.toggleShared(); $event.stopPropagation()"
>
> Okay, usually when I have a delegate that needs to make a whole element
> clickable but needs to exclude child elements I will usually do this check
> in the top delegate to check to see if the target is an interactive
> element. A simple example would be:
>
> $card.on('click', function (event) {
>   if ($(event.target).is('a, :input')) {
>     return;
>   }
>   toggle();
> });
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/hypothesis/h/pull/1436/files#r17590993>.
>