Added ZombieKillerService to abort stuck jobs

The ZombieKillerService uses its own thread to periodically check that the job is making progress. If a sufficient time has passed with no progress the job will be terminated.
Use ZombieKillerService when running multi-threaded

To avoid having the _THREADED IB RelVals get stuck for forever we now use the ZombieKillerService
Merge pull request #2981 from Dr15Jones/zombieKillerService

Multithreading -- Zombie killer service