Added a timeout feature to protect against long running processes.
This was necessary because a number of student processes were long running, and hogging resources.  They need to be killed after a certain amount of time (20s).