Testing

This makes a start on some automated testing per #212.

This PR is based on #273. That should be merged first.

TODO:
* [x] Tests during development `grunt watch` using PhantomJS w/ Selenium Standalone Server in the Vagrant box for speed
* [x] More unit test coverage
* [ ] Integration tests