Make clean up a little cleaner.

It's nicer to reset the @child_pid inside of #done_working. So we need
to `ensure` that happens. Also, let's take the job into what we're
waiting for so that it can fail the job itself.