Still restart parent when CloseWaitTimeout expires

This was returning an error, which would cause the main goroutine to
exit before the parent could re-exec itself.

Also updated the comments to explain things better.

As part of this, I've reduced the poll interval to 100ms.  Checking the
counter is cheap, so it makes sense to check more often so that we can
return more quickly.