Catch KeyboardInterrupt in run_in_subprocess_with_hash_randomization

This makes the test runner print the traceback for the test that is being run
when the tests are run in a subprocess (the default), which is useful if you
interrupt a long-running test to see where it got "stuck".
Merge pull request #8308 from asmeurer/keyboardinterrupt-tests

Catch KeyboardInterrupt in run_in_subprocess_with_hash_randomization