Swap out vendorized Jasmine runner for grunt-contrib-jasmine

We recently had some problems getting the spec suite to run in Travis
CI, even on old commits where it once ran correctly. This seems to be
happening because either a newer version of Node, npm, phantomjs, or
Travis CI included a change that broke our setup.

To fix this, and in hopes of making it more resilient for the future, I
am swapping out my vendorized Jasmine runner for grunt-contrib-jasmine.
At the same time, I added some JSHint to help keep things in check.

This more or less followed the guide as written up at:

  http://travisjeffery.com/b/2013/09/testing-javascript-projects-with-grunt-jasmine-jshint/

Change-Id: If45b72461ddecd12acb20a674e2ac78016dc911b
Reviewed-on: http://gerrit.causes.com/36753
Reviewed-by: Hao Su <hao.su@causes.com>
Tested-by: Joe Lencioni <joe.lencioni@causes.com>