Tests: Extract tests for QUnit.dump into its own file

Also moves two tests that check recursion in deepEqual, which share
helpers with the QUnit.dump tests. Moves those helpers on the test
context to get rid of globals.
Dump: Fix typeof check for setInterval

Fixes #631.
Closes #642.
Callbacks: Throws an error on non-function params for logging methods

Closes #626
HTML Reporter: Output runtime of each assertion in results

Adds the same value to QUnit.log details as a 'runtime' property.

Fixes #616
Closes #643
Core: Use `Error#stack` without throwing when available

Fixes #636
Closes #640