Add JS test harness

Changes:
* Add initial JS tests and tests bundle task (say that 10 times fast) to
  gulp build file
* Add the testem HTML harness during provisioning (development only)
* Add ./scripts/testem.sh to run JS unit tests in a browser window
* Add testem (ci mode) to ./scripts/test.sh to run tests on Jenkins
This is my biggest gripe against mocha.

I attempted to `require` mocha dependencies but eventually gave up. According to [example code](https://github.com/airportyh/testem/blob/master/examples/browserify/tests.js) I referenced, this is the recommended way to define tests. 

I don't think bending over backwards to make this pure will be worth the effort. But it may be worth it to add some jshint flags to ignore these mocha globals.