Switch from Coro to a real AnyEvent loop

This fixes bogus -1 waitpid() returns, as well as blead-through of exit
codes from one failed test to others running at the same time.