FLUID-5284: JSHint grunt tasks and infrastructure

http://issues.fluidproject.org/browse/FLUID-5284

This pull request adds the JSHint grunt task and other necessary infrastructure to run it. The actual linting will be filed in an accompanying pull request.

To make use of jshint:

```
npm install
grunt jshint
```