exit when child has exited, not earlier (mh)

With this little addition, the supervisor won't exit until the child process has really exited.

I need this feature because my app has a graceful shutdown.

Already tested it on my machine and works well. Also added few missing semicolons.
Scroll down to line 254 of this commit. There the property is cleared too (written by Ben Schüttler). So since this logic is already there, I have respected this pattern and copied that line.

Really, it makes sense to me. Why holding a reference to the child process when it has exited anyway?

Furthermore look further down at the `crash()` function, it will kill the process when the child is set. That's what I want to avoid when a crash occurs while really exiting the child.