Reap the child process if there's an error during setup

Previously, if the child process failed to, say, exec (e.g. because of a non-existent executable), nothing would ever reap the child process.

@zenazn Any thoughts? I think I saw a bug of this form in action, but I'm not positive.