Support NPM 2.0 / Semver 3.0 

The upcoming NPM 2.0 release contains the updated 3.0 version of Semver which has changed ^0.x.y from always being to ~0.x.y to always be equivalent to =0.x.y

This requires especially the peerDependency on Grunt to be updates as otherwise it will become very hard for projects to fulfill it and failing peerDependencies in dependencies results in `npm install` aborting all installs which essentially breaks a project's entire NPM setup.