Add Grunt; jshint fixes; more tests