dont close proxy's stdout/stderr prematurely

Fix #8428

When stdout/stderr is closed prematurely, the proxy's writes to stdout/stderr
(i.e. `log.Errorf/log.Printf`) will returns with EPIPE error, and go runtime
will terminate the proxy when stdout/stderr writes trigger 10 EPIPE errors.

This fixes stdout/stderr by continuing to drain their output if the proxy
successfully starts. Stdout/Stderr will be closed when `proxy.Wait` returns.

Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)
agree that the pipes are bad. I wrote another approach in https://github.com/dqminh/docker/commit/452686856e5da84133193b21d0d3e41d38b92256. Can you review that instead ? If it looks good i can squash.