Authentication refactoring

OK so this sits on top of the Grunt 0.4.0 upgrade PR.

The big ticket changes are:

* Moved all auth stuff into `common/authentication`.  This includes login-toolbar and login-form (see later) and all the services.
* Converted login-form to use $dialog, which means we lose the directive and gain a controller.
* Refactored the authentication service, to do the opening and closing of the login form, meaning that we no longer need to watch the retry queue form the login form.
* Added some unit tests. Woohoo!