Windows: pass current directory CreateProcess instead of setting

Avoids races setting/using a process-wide current directory,
and avoids locking the directory that was most recently used to
start a subprocess.