I got it to work by replacing your package.json reader with another one.
Comment this line out or remove it all together from your gruntfile.js
require('matchdep').filterDev('grunt-*').forEach(grunt.loadNPMTasks);
Instead use this package reader, but add the line before the grunt.initConfig({
require('load-grunt-tasks')(grunt);
Of course add it to the package.json as well
npm install --save-dev load-grunt-tasks
I'm not sure why your other reader isnt working, but this'll get 'er grunting!