Build: use browserSets from config file; allow to override

Closes gh-552
Core: Pass total amount of tests to QUnit.begin callback as totalTests

Fixes gh-350
Closes gh-553
Core: Use Date.now when possible and normalize on new Date().getTime()

Fixes gh-544
Closes gh-545
README: Fix Grunt installation command
Code Style: Fixing inconsistencies
jsDump: Output non-enumerable properties of TypeError

Fixes #558
Closes #559
Revert "jsDump: Output non-enumerable properties of TypeError"

This reverts commit faa3809077d090c1ee7371dbc574b46209bd7895.

Too many failures in browsers other then Chrome, missed before initial push.
Export: Specify which methods should be exported to the window object

Fixes #561
Closes #562
jsDump: Output non-enumerable properties of TypeError.

This another attempt after pull request #559 had to be reverted. Tests
are now more flexible to deal with inconsitencies across browsers.

Fixes #558
Closes #564
Assert: Removal of raises, same and equals

Fixes #571
Closes #573
Asserts: Improved the default message from assert.ok

Fixes #570
Closes #572
Expect: Moving to QUnit.assert

Fixes #490
Tests: Namespacing methods

- Tests: Namespacing test and asyncTest methods
- Tests: Namespacing start and stop methods
- Tests: Namespacing expect method
- JSHint: Removing accepted globals in tests
Tests: Whitespace
Tests: Check for methods existance

- Global QUnit methods
- Global assertion methods
Build: Use global .jshintrc in test files

Adds QUnit as a global to the main jshintrc to avoid having to specify
a separate file. Also updates grunt-contrib-jshint.

Fixes #574
Closes #575
Changed config.started to be the time the first time a test is run, instead of when QUnit is initialized. This fixes the total time reporting for scenarios where config.autostart = false and QUnit.start() is called sometime later.