Linting

Adds more stringent code linting via JSHint, enforced by Travis-CI.

Now, to get a green light, both the specs and JSHint have to pass with no errors.

This should hopefully help enforce code quality, and help catch bugs early.