Upgrade JSHint to 2.5.4

Previously we vendored + patched a copy of `JSHint` each time we needed to upgrade. This commit takes a plain copy of `JSHint` and adapts `PreCommit` to use `JSHint` out of the box.

This should make future `JSHint` upgrades much easier :)

@shajith @mpapis @mwerner 

Closes #157 
It is what is returned from `JSHINT.errors`. They have added two new keys to the payload `"code"` and `"scope"`. The diff should look something like this:

```diff
- "reason" => "Missing semicolon."
+ "reason" => "Missing semicolon.",
+ "code" => "W033",
+ "scope" => "(main)"
```