Update to Grunt.js 4.x and update Gruntfile tasks