Fix killing of threads that haven't started

If there is a thread that has not started yet (for instance with a long
startdelay or a stonewall) then a SIGINT will fire off terminate_threads
which runs through all of the threads and calls kill(pid, SIGTERM).
However the threads that have not started yet have a pid of 0.  When you
call kill(0, SIGTERM) it kills the entire thread group which can extend
out of fio.  I have included a short patch which fixes this for me.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
diff --git a/fio.c b/fio.c
index 2855ddf..9e9106d 100644
--- a/fio.c
+++ b/fio.c
@@ -102,7 +102,9 @@
 			/*
 			 * if the thread is running, just let it exit
 			 */
-			if (td->runstate < TD_RAMP)
+			if (!td->pid)
+				continue;
+			else if (td->runstate < TD_RAMP)
 				kill(td->pid, SIGTERM);
 			else {
 				struct ioengine_ops *ops = td->io_ops;