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
Yep.  That's a mistake.  I'll fix it.  Just curious: Is there a particular reason you went with `(x == null)` everywhere instead of just `(!x)`?