Grunt for build

Swapped out existing build process which mostly used non-mainstream tool for using the mainstream JS build tool. This bumps the underlying minification dependency which should be the primary area of concern, so I switched the test environment to use the -min version since that is the primary thing that could break.

Note when reviewing this includes the build files, individual comments probably ought to go next to their source file. Most changes were to pass more strict jshint settings. The order of inclusion of CryptoJS changed, but since it is leveraged via globals the order should have no impact.

Tested in:
 
- [ ] Node.js
- [ ] Chrome
- [ ] FireFox
- [ ] Safari
- [ ] IE 10
- [ ] IE 9
- [ ] IE 8
- [ ] IE 7
- [ ] IE 6