Ref T10751. This is several layers deep: I want to unit test environmental configuration for git/svn/hg commands, but there's currently no way to read it.
It's also duplicated between Passthru and ExecFuture classes.
Extend them from one class doing CWD + Env stuff. Clean that stuff up a little. Add a getEnv() for reading so I can do unit tests.