Add basic test framework for the Angular app

Adds a test suite using the Karma test runner and Mocha, this uses PhantomJS by default but any other browser can be connected using the Karma providers. Chai[3] is used for assertions and Sinon[4] for mocks and stubs.

Installation:

    $ npm install

Usage:

    $ $(npm bin)/karma start karma.config.js &
    $ $(npm bin)/karma run karma.config.js

You should see something like the following:

    [2014-07-14 17:48:24.225] [DEBUG] config - Loading config karma.config.js
    .. 
    PhantomJS 1.9.7 (Mac OS X): Executed 2 of 2 SUCCESS (0.024 secs / 0.003 secs)

Another thing to note, I've refactored the username directive to remove the dependency on the controller object. I'm new to Angular so I would appreciate a review, for example I think I need to use `$scope.change` to keep `uname` and `provider` updated.

[1]: http://karma-runner.github.io/0.12/index.html
[2]: http://visionmedia.github.io/mocha/
[3]: http://chaijs.com
[4]: http://sinonjs.org