Abort test run if test becomes obsolete

The incoming.py script will delete the test file (from the incoming queue
directory) if the server-side changes its mind.  If that happens after we
started the test, no point in finishing, so abort the test ASAP.
Unlink stale *.testing "lock" files

Occasionally when a runner crashes, it leaves behind *.testing files
indicating that a runner is currently running a given test, when in fact
none are.