Dump: Configurable limit for object depth

In projects with deep object graphs, like Ember, walking all properties
of an an object recursively can end up walking most of memory. This
causes the browser to run out of memory and kill the tab/thread.

This introduces a maxDepth config for the parse function, which is used in
places where strictly accurate output of an object is not needed, for
instance, when showing two un-equal object in test output.

Closes #578 

#578 was missing only a rebase and moving the `maxDepth` default to a `QUnit.dump` property. This should be good to land now. I've ran tests with `browserstack-runner`, everything is passing. Looking for another review round from @leobalter @JamesMGreene and @Krinkle.
I'm still running the browserstack runner tests but it looks like we don't need this try/finally block, placing the `QUnit.dump.maxDepth = null;` after the tests on the module's `teardown` should be fine.