Windows: Fixed handle inheritance in `create_process` wrapper.
Windows: Fixed handle inheritance in `create_process` wrapper.

The primary change in this patch is that `create_process` now enables
inheritance for the `pipe` handles passed before starting the child
process. This is required, otherwise the child process will behave
incorrectly (for example, it will write to `stdout` but that will go
nowhere, as the redirection silently failed). After the process is
created, inheritance is disabled to prevent further calls to
`create_process` from inheriting the wrong handles.

The `std::tuple<os::WindowsFD, ...>` type was changed to a
`std::array<os::WindowsFD, 3>` as it is significantly easier to work
with (it supports iteration).

Review: https://reviews.apache.org/r/65574

Gilbert88/mesos,abudnik/mesos,gsantovena/mesos,dforsyth/mesos,dforsyth/mesos,dforsyth/mesos,gsantovena/mesos,gsantovena/mesos,kaysoky/mesos,reneploetz/mesos,jpeach/mesos,chhsia0/mesos,dforsyth/mesos,andschwa/mesos,chhsia0/mesos,andschwa/mesos,jpeach/mesos,Gilbert88/mesos,andschwa/mesos,abudnik/mesos,abudnik/mesos,kaysoky/mesos,reneploetz/mesos,kaysoky/mesos,reneploetz/mesos,andschwa/mesos,andschwa/mesos,asamerh4/mesos,kaysoky/mesos,jpeach/mesos,asamerh4/mesos,gsantovena/mesos,andschwa/mesos,abudnik/mesos,chhsia0/mesos,jpeach/mesos,Gilbert88/mesos,chhsia0/mesos,jpeach/mesos,kaysoky/mesos,andschwa/mesos,kaysoky/mesos,asamerh4/mesos,dforsyth/mesos,reneploetz/mesos,jpeach/mesos,dforsyth/mesos,reneploetz/mesos,reneploetz/mesos,asamerh4/mesos,asamerh4/mesos,kaysoky/mesos,Gilbert88/mesos,asamerh4/mesos,abudnik/mesos,gsantovena/mesos,dforsyth/mesos,Gilbert88/mesos,abudnik/mesos,chhsia0/mesos,gsantovena/mesos,chhsia0/mesos,gsantovena/mesos,chhsia0/mesos,abudnik/mesos,Gilbert88/mesos,reneploetz/mesos,asamerh4/mesos,Gilbert88/mesos,jpeach/mesos