added Gruntfile and updated all files to survive a jshint run
manually fixed merge conflicts