Feature/testing

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