Make testthat tests more reliable when called from the interpreter.

Currently, running `test_dir` on the `testthat` tests will fail on many systems when run interactively, due to what seems to be a race condition in the watcher code. (I'm waffling a little there, since the "race" seems to be 100% repeatable on some machines.) These patches clean that up, and do one more bit of cleanup-on-failure.