add grunt-contrib-jshint as devDependency

needed for jshint grunt task
switch from grunt.config.extend to grunt.config.merge

merge is shipped by upstream grunt (since v0.4.5), so no need to
implement something similar. However, adding a deprecation warning to
grunt.config.extend instead of removing it completely. Other projects
might still rely on it.