Handle uncaught exceptions in test deps.

Uncaught exceptions in test deps cause the test runner to exit unexpectedly without an explanation of what failed. This change causes test deps to be executed in their own domains so that uncaught exceptions can be reported as test failures (including a failure message).