Use karma for our client side testing

Whenever we add a new client side script, we need to manually add it in both `settings.py`, and in our test `runner.html` file. Keeping the paths in these different places in sync is problematic, so the current plan is to specify all our js paths we need to know about in a single yaml file. In order to do this, we need to replace what we currently using to run our tests (mocha-phantomjs) with [karma](http://karma-runner.github.io/0.10/index.html). We will still be using mocha and phantomjs, so the only thing that is changing is the way we run the tests.

Karma also has a few other things we can make use of later, like running our tests in chrome and firefox, and will make adding coverage for our client side tests easier.