chore(build): Initial stab at Grunt skeleton

A case study in how *not* to do pull requests...

But we should now have a shared precommit-hook which runs lint tasks whenever you try and commit some code.
JSHint and JSCS rules are up for negotiation.

FIxes #31
Fixes #17 
FIxes #13 
Fixes #12 
Fixes #11 
That should be the weird comma `{,..}` bit. So it should be searching for top-level `*.json` files as well as `app/**/*.json` etc. I can probably confirm that right quick by running Grunt w/ `--verbose` flag though.

```
Running tasks: jsonlint

Running "jsonlint" task

Running "jsonlint:config" (jsonlint) task
Verifying property jsonlint.config exists in config...OK
Files: .bowerrc, .jshintrc, .jscsrc
Reading .bowerrc...OK
>> File ".bowerrc" is valid JSON.
Reading .jshintrc...OK
>> File ".jshintrc" is valid JSON.
Reading .jscsrc...OK
>> File ".jscsrc" is valid JSON.
>> 3 files lint free.

Running "jsonlint:app" (jsonlint) task
Verifying property jsonlint.app exists in config...OK
Files: bower.json, npm-shrinkwrap.json, package.json, config/local.json, config/local.json.example
Reading bower.json...OK
>> File "bower.json" is valid JSON.
Reading npm-shrinkwrap.json...OK
>> File "npm-shrinkwrap.json" is valid JSON.
Reading package.json...OK
>> File "package.json" is valid JSON.
Reading config/local.json...OK
>> File "config/local.json" is valid JSON.
Reading config/local.json.example...OK
>> File "config/local.json.example" is valid JSON.
>> 5 files lint free.

Done, without errors.
```

Status:
![IN YOUR FACE](http://s3-ec.buzzfed.com/static/2014-10/9/12/enhanced/webdr11/anigif_enhanced-22735-1412871735-22.gif)