(#12914) Allow puppet to be interrupted while waiting for child
Previously, puppet on Windows could not be interrupted, e.g. Ctrl-C,
while waiting for a child process it executed to exit. For example,
when executing a pre/post run command.
This commit changes puppet to poll the state of the child process'
handle, sleeping for 1 second in between.