add jshint to `make test`

* add a lint target to the Makefile that runs jshint
* fix all jshint errors from the default config
* have the make test target run the lint target
Jshint is just generally against any use of `==` and `!=` in favor of `===` and `!==`, which is a pretty generally accepted practice I think (*jslint* has the same check too).  There are of course cases where you're fine with `==`, but I think the view is that those cases are generally not worth considering when you weigh them against the chance of getting them wrong.