modify Pid creation

Since the most common thing to do with a PID file is check its existence
and error out if it is there, I am putting this functionality into the
create call.
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.
catch the Keyboard interupt

Laying the groundwork for catching the keyboard interupt exception. It
seems like a common thing for people to start these tests then want to
stop them, so catching this exception should get us helpful results even
when the script is ended early.