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 :)
Memoize @context inside of a context method.
Make Jshint#js_config private.
Prepend the get errors method with a semi-colon.

When appending JavaScript it is considered best practice to include
an initial semi-colon to ensure the concatenated content does not
collide.
Merge branch 'master' into josh/upgrade_jshint
Merge pull request #177 from jish/josh/upgrade_jshint

Upgrade JSHint to 2.5.4