merge_pr_31
Add a timer of last resort to the TestRunner
In the case where the test just doesn't complete after the expected
amount of time (plus some slack), forcibly end the test in the parent
process. This eventually causes the child process to be restarted.