[WIP] Add jshint to pre-commit hook

Summary of changes:
* Define the node modules to be installed in package.json.
* Include 'jshint' as a dev dependency and 'less' as a
  dependency. 'less' is no longer installed globally.
* Since jshint doesn't include non-JavaScript files, specify the files and
  folders to be ignored in .jshintignore file.
* Install the node modules defined in package.json while provisioning.
* Add the node_modules/.bin/ folder to $PATH in ~/.bashrc.
* Create a wrapper script on top of jshint for JavaScript lint
* Modify the pre-commit script to use the wrapper script on the
  JavaScript files to be committed.
I think if we're going to change the name of the lint pre-commit hook, we might as well change it to lint.sh. That "future-proofs" it more.