Fill reply permissions

Privacy directive doesn't fill the permissions if the annotation has
already have them and the replies permissions were not filled, only
the reading permissions

Before that the privacy directive detected that other way.

Fix #1759
Store persona in the rootScope
Add test for reply permissions
Introduce user helper
Tests using fake user service
Introduce auth service

- Bridge the for identity service
- Handles login, logout, and exposes the current logged in user
- permits function for authorizing actions
Fix tests for objects using the auth service
Simplify auth service
Sort imported services alphabetically
Use scope.auth.user instead of scope.persona
Document the auth service
Fix auth related tests
Move scripts/services/auth -> scripts/auth-service
Merge pull request #1800 from hypothesis/fix-reply-permissions-simplified

Simplified auth plugin
Streamer.onmessage now receives parsed JSON
Clean up the streamer.onmessage handler

- Fix "single player mode" filtering of highlights. It was assuming
  that $scope.persona was an object rather than a string.
- Remove multiple checks to ensure that payload is an array, the
  backend only sends arrays[1][2].
- Convert python style method docstrings to coffeescript comments.

[1]: https://github.com/hypothesis/h/blob/master/h/streamer.py#L562
[2]: https://github.com/hypothesis/h/blob/master/h/streamer.py#L488