Initial conversion to Grunt 0.4 format

Rename main grunt file and update to specific contrib packages
Fix lint errors in grunt file

Also fixed tabbing from previous migration
Move stripdefine to use loop
Add jshint to default task and fix issues
Add test task to alias qunit and jshint
Use global install for grunt-cli on travis
Merge pull request #859 from nschonni/grunt-0.4

Grunt 0.4
Fix bugs that @nschonni found in his grunt update.
Update the stripdefine to the new r.js output
Cleanup Grunt banners

- Add a contributors section to the JSON based on the existing people in
the block. Removed Ryan Seddon since he has since been added as an
author
- Removed base banner since it wasn't used
- Renamed microbanner to compact
- Moved old license object to 'full' banner to use grunt template
replacements
Change npm test task to use grunt test

Makes it easier to adjust test suites without having to remember to
update the JSON.
Also added the bug tracker property
Move generateInit deps inside function scope
Move contributors to array and update banner
Merge pull request #861 from nschonni/further-grunting

Further grunting
Remove old-modernizer file
Run JSHint on test files and fix issues

- Added seperate JSHint target so options for tests don't interfere with
those chosen for the source files
- Added watch task so tests are validated and qunit is run when they're
modified
- Purposly excluded r.js and the testing libs
Merge pull request #862 from nschonni/files-cleanup

 Run JSHint on test files and fix issues
Lint lib files

Only one I was unsure of was the app.build. It looks like a closure that
would get concated onto the end of a file as it is butild, but there
doesn't seem to be any refrences to it.
Merge pull request #863 from nschonni/cleanup-libs

Lint lib files