Python test runner: implement timeout

Implement timeout using multiprocessing.Pool