Travis: Run JSHint and fail build on warnings

JSHint: http://www.jshint.com/
Stricten up JSHint settings
JSHint: Tighten function complexity requirements

And refactor Analyzer.toString() that had become too unreadable.
Merge pull request #2 from spotify/travis-jshint

Travis: Run JSHint and fail on warnings