bring back Timeout but wrap Process.wait() instead

timeout won't interrupt:
  x = " "*(2**31)

but it will interrupt Process.wait(…), so that's what we wrap instead, which
catches the x = " "*(2**31) case.