Switched jslint to jshint. Fixes #929

I've swapped out jslint with jshint and adjusted all the headers to not throw errors. Once merged, this fixes #929.

# ~~TODO before merge:~~ All done!

* [x] replace jslint with jshint.
* [x] fix all jshint headers (`bad option` errors).
* [x] add more jshint options to `.jshintrc` to formalize current coding style.
* [x] remove all jshint headers, only add back the bare minimum.
* [x] add `strict: true` to `.jshintrc`, add `strict: false` where necessary.
* [x] add `unused: true` to `.jshintrc`, add `unused: false` where necessary.
* [x] rebase on latest devel, ~~cry softly, fix merge conflicts~~. No conflicts! :heart: