Use non-blocking read on subprocess stderr

Due to a an issue with OpenSSH ControlPersist, use a non-blocking read on
stderr from terminated child processes. This will avoid hanging until
the ssh master process terminates and closes the write end of the pipe.
See https://bugzilla.mindrot.org/show_bug.cgi?id=1988 for the OpenSSH
issue.