jshint and jsbeautifier

Hi Eric, 

the purpose of this pull request is that we've added quite a lot of changes and fixes in our own repository and are wanting to commit back into main without causing too much headache for you, specifically when it comes to linting and the rules that float around setting this up. So I ported just the beautifier/linting portion for this particular reason: synchronicity 

this pull request adds 2 extra grunt dependencies

* grunt-contrib-cli (command line didn't work for me otherwise)
* grunt-jsbeautifier

it also adds a .jshintrc file that contains the rules I use for most of our js projects, this file ofcourse is interchangeable to suit your own preference or needs.

the reason I added jsbeautifier at a specific version 0.1.7 is that there is an issue with jsformat which for me, is a dealbreaker.

https://github.com/einars/js-beautify/issues/275
https://github.com/einars/js-beautify/issues/268

I've not included either jshint nor jsbeautifier in the 'dev' or 'full' build task; it would be great if you could look at this so that I may commit and send pull requests for quite a few of the outstanding bugs you've listed on your todo list