Karma / QUnit

@thraxil This adds unit tests to our backbone models and views. These tests can be run with `npm test` or `make test`.

I'm now using a `package.json` file to handle npm dependencies. I figure it's a little more reliable than putting everything in the Makefile. This way we just run `npm install` in the Makefile, and npm will only install the packages when needed.

This should be able to integrate with jenkins using karma's junit xml output. We might have to manually configure jenkins to look at the `karma-test-results.xml` file, and maybe there's an automatic way to do this.