Start down path of new build system:

- Move tests to karma test runner and mocha framework, also adding chai assertions
- Add gulp tasks for testing, watching, concatting and compressing
- Update travis file to use new build system
- Remove jstestDriver stuff
- Reorganize a bit so that it's easier to see what's going on
- Create a dist folder to hold the output of builds (should probably look at having a bower branch/repository where these are held, instead of master)

I'm pretty sure we don't want to push this to master, but that's where this was diffed against.
Test runs coverage on the unminified combined file. This is because it's difficult to include files in the correct order, so in place source coverage is difficult. This could be remedied by adding commonjs or requirejs module system, but that gets tricky with distribution because you want to distribute as a global.

I haven't played with testling yet, but it says it supports mocha, so it ought to work just fine. 

In order to run a single test, add to the "describe" or the "it" ".only" and only that section will run.