refactor timeout evaluation to use multiproccessing in favour of threading
ensure processes are killed during evaluation