Upgrade the windows specific version of LaunchProcess to avoid raw handles.

This change implies that extensions::LaunchNativeProcess also changes to
return base::Process, and that requires base::EnsureProcessTerminated to
deal with base:Process (as it basically claims ownership of the process).

This CL fixes some leaks all around.

BUG=417532

Committed: https://crrev.com/6b687a5e232c80539772dc3dbe35b98095064c38
Cr-Commit-Position: refs/heads/master@{#306687}

Review URL: https://codereview.chromium.org/759903002

Cr-Commit-Position: refs/heads/master@{#306963}
27 files changed