Dev gruntjs tasks

Going to close my request from adamrights:master so that you can cherry-pick in the grunt tasks while working on removing jquery and underscore.

Additional automation and tasks added: grunt-mocha, grunt-contrib-clean, grunt-karma, grunt-fixmyjs.

Grunt tasks:  'grunt' (default) 'grunt build' and 'grunt test'.

grunt-fixmyjs styles applied to intention.js & context.js and outputted to 'code/' where if all jshint and tests pass uglify creates the min files.

The fixmyjs versions of intention.js and context.js that are cleaned and regenerated from the source files are useful when discussing the framework and referring to specific line numbers, as the fixmyjs task removes any spaces/white space not part of code or comments.