More view, sort, and threading refactoring

Clean up a number of issues.

- Fix page search, especially for deep results.

- Split thread directive into its own file.

- Clean up the separation between CSS of threads and annotations.

- Separate more actions menu for annotations from thread actions strip.
  Edit and delete in the former. Share and reply in the latter. Cleans
  up controllers quite a bit.

- Refactor both thread and annotation directives.

- Break out progressive rendering service.

- Clean up template variables to use the controllerAs syntax to treat
  controller as the view model.

- Clean up thread collapse prevention during editing.

- Refactor threading to remove the thread property from annotations and
  take ownership of the thread root, removing the need to track many
  things about threading in the App controller.

- Clean up annotation edit cycle and drop the ngModel usage (doesn't
  work well with objects since it does a shallow watch).

- New thread and annotation directives come with full documentation in
  ngdoc style as supported by the dgeni documentation tool.

- Preserve annotations, when appropriate, upon changing authentication.
  Fix #567.
Add results count to stream search
Change search response to use the 'results'

The word 'result' is, I believe, commonly associated with searching.
Drop annotator.discardDrafts helper

The annotator service is not a dumping ground for helper functions.