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

Nope. This is the controller for the directive. It belongs with the directive. If anything, it would go in a separate file inside a folder for the directive, but that's overkill unless things really get long.

See for instance the structure of the angular.js project itself. The NgModelController is in src/ng/directive/input.js along with the input directives and the ng-model directive.