Break down logic of grunt config

* Use separate jshint config for Gruntfile.js
* Move grunt tasks to separate modules
Use exact versions dependencies
Add scripts property to package.json
Install qunit through grunt task
Download speed dependencies through grunt task
Reflect build changes in the README file
Check code style issues through jscs