Build: Clean up Gruntfile

* general: Use strings instead of arrays where possible.
* jshint: Use 'true' instead of hardcoding jshintrc. Saves duplication
  and will make a config file in a subdirectory like src/ or test/
  work as expected.
* jshint: Merge test/dist patterns.
* jshint: Merge the different tasks into one 'all' task.
* jshint: Use "*.js" instead of "Gruntfile.js".
* jshint: Add build/.
* watch: Include build/.
* watch: Remove .* pattern (unused).
Assert: Assert is now an instanced object exclusive to test blocks
Assert: Uses context test push
Test Obj: Using related test context instead of config.current