For safety, ProcManager wraps child code in eval

This prevents any destructors from being called in the child process.
Also, ProcManager now explicitly calls File::Temp::cleanup.