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
Src: Export Assert methods for backwards compatibility
Test: Check for exported assertions