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.
Async: Tests are now Promise-aware

Fixes #632.
Ref #534.