test: Clean up assert.throws tests

* Consistently pass a message.
* Use a simple Error instance for the regex test instead of
  CustomError.
* Move the assertion where expected is an object higher up.
Assert: Add support for throws expecting any arbitary object

Including plain objects or instances of custom constructors that
didn't inherit from Error.

Fixes #609
Ref jquery/api.qunitjs.com#59
Package.json: Updates grunt-qunit-istanbul
Build: Ignores coverage on external modules
Src: Export Assert methods for backwards compatibility
Test: Check for exported assertions
Reporter: Reimplements deprecated QUnit.init

Closes #530
Reporter: Reimplements QUnit.reset()

QUnit.reset() should be removed on 2.0/2.1

Ref #453
Build: Updating BrowserStack config to run all test pages