Simplified auth plugin

Simplified version of #1763 

Introducing auth service.
- Stores persona.
- Handles building/destroying Permissions and Auth plugins (moved from AppController)
-Privacy directive uses it.
- Fix #1759 (The replies permissions were not filled, only the reading permissions
because privacy directive used to fill the rest. But a change made it not to touch the permissions of an annotation which has the permissions already set.)

Actually, when our app loads, then we'll have this watch fired with
```
newVal = undefined
oldVal = undefined
```
values.

And for that the `not (newVal or oldVal)` expression returns true
and after that if we're not logged in, then the watch will called once again (because of the onready function) with the values:
```
newVal = null
oldVal = undefined
```
to which `not (newVal or oldVal)` will also be true so the `$scope.login` will falsely called twice.