Start of testing for frontend

It uses the following:
- npm and bower for package management
- grunt as the main task runner
- karma for running tests
- QUnit / Pavlov / ember-data-factory for the test framework
- PhantomJS to run headless tests
- Code coverage with Istanbul (not sure whether that is setup correctly - coverage seems very high :-))

To run the tests:
- install nodejs/npm (brew install npm / apt-get install npm ) -- the chris-lea repo for ubuntu has the latest node
- npm install
- grunt

Oh, and these tests are running on Travis - just need to remove the "--force" flag in the travis file for grunt.