don't cache environment variables, fix non-ASCII environment variables

GitCheetah caches environment variables when spawning the first child
process. Thus, updates to the hosting explorer process's environment are
not reflected in subsequently spawned child processes.

Note: if and when explorer updates its environment variables from the
registry seems to depend on the Windows version.

Additionally, non-ASCII environment variables are mangled in child
processes, as GetEnvironmentStringsA returns OEM-encoded strings, but
CreateProcessA expects ANSI.

Remove the copying / caching of the entire environment. When spawning
child processes, just tweak the PATH variable temporarily.

Reading a single environment variable (GetEnvironmentVariableA) instead of
the entire environment (GetEnvironmentStringsA) implicitly fixes non-ASCII
variables.

Signed-off-by: Karsten Blees <blees@dcon.de>
Merge remote-tracking branch 'kblees/kb/dont-cache-environment-variables'