jshint does not pass

Since we moved over to grunt, the `$ grunt jshint` task shows a lot of failures.

* Add 3rd-party files to `.jshintignore`
* For files that aren't a huge disaster, fix the code
* For files that are way off, add custom jshint exceptions in the file to get them passing and document that these should be removed in the future.
* Make running `jshint` part of the Travis-CI test suite, so that jshint can fail the build