Linting

This PR:
* [x] Adds lint tests via [jshint](http://www.jshint.com/about/). I also considered and discarded [jslint](http://www.jslint.com/) and [eslint](http://eslint.org/) as alternatives. Let me know if want an explanation for each.
* [x] Adds a minimal `.jshintrc` linter config file - all it does for now is check missing and extra semicolons. We can make it stricter one option at a time as time goes on. I'd rather get _some_ linting going with this PR than boiling the ocean up front.
* [x] Does some basic cleanup (mostly around semicolons) in `lib/`, `test/`, and `examples/` based on aforementioned minimal linter config.
* [x] Adds linting (`npm run lint`) as a Travis build step.
So we could ignore this error using `-W041` but that might be [too broad](https://github.com/jshint/jshint/blob/a643f3fec0632249dcd78d0cf5f200d9166b587d/src/messages.js#L115).