adding grunt tasks to handle all the coffeescript linting/compiling/watching

@ulberge necessitates a `npm install` after pulling. running `grunt` will lint the coffeescript files, then transpile them into js files, then watch for changes, which trigger the same thing all over again. the lint currently has errors, so until those are fixed, run `grunt --force` to power through and run the subsequent tasks.