windows: Read the PATH env var of the child

The unix and windows process implementations diverge in their behavior
when dealing with subprocesses that are spawned with a relative path.
With unix the *child's* PATH environment variable is read, whereas
with windows the *parent's* environment variable is read.

This commit brings the two implementation in line with respect to
their behavior of reading PATH by having both read the *child's* PATH
environment variable. This involves looking into the user-provided
environment on windows and extracting the PATH variable specifically
so it can be inspected later on.

I'll cc #122 here as well, although I ended up discovering that after
writing this. It appears that there's more to this than I originally
thought, but I figured I'd at least put this out there!

I know you didn't introduce this, but can you remove the unnecessary cast? :-)