adds the PID lock

One of the important things for this test suite is to ensure that only
one instance of the tests are running at a time.

This will stop people from trying to start 6 instances at once, and
force them to use the multithreading option.

The advantage of this will be that I can control the creation and
updating of a stats file knowing that only one process is writing to it,
and I can handle multithread output in a sane way.