Initial attempt to make extendable login form directive

So as part of https://github.com/incuna/roche-asthma-phonegap/issues/161, I need to extend the basic login form functionality to do additional things once login is complete. 

I could add a simple event, but I've also faced needing to change some different login requirement on other projects, so decided to see if there was a better way to extend the directive.

@maxpeterson @perry @henrahmagix What do you think of this approach to making directives extendable? Essentially the directive code is moved to a service object with many functions, which the directive imports and runs.

If the app needs to make any changes, it can define a new directive which imports the service and changes only the functions it needs. Like so:

```
    # default directive provided by angular-token-auth
    auth.directive('loginForm', [
        'authLoginFormFactory',
        function (authLoginFormFactory) {
            return authLoginFormFactory.getDirective();
        }
    ]);

    # customised directive provided by specific project
    auth.directive('appLoginForm', [
        'authLoginFormFactory',
        function (authLoginFormFactory) {

            //extend original directive
            var directive = angular.extend({}, authLoginFormFactory);
            directive.loginFinally = function () {
                authLoginFormFactory.loginFinally();
                // your own extra code goes here
            }

            return directive.getDirective();
        }
    ]);
```

Might need some tweaking so that `this` points to the right object...
Do you need this method? What if the factory simply returns the directive object:

```
                   return {
                        restrict: 'A',
                        scope: true,
                        templateUrl: 'templates/auth/login_form.html',
                        link: function (scope, element, attrs) {
                            ...
                        },
                        loginClick: function () { ...
                    };
```

It could then be extended before it is used as a directive.