To wrap the old behavior found in `*config.Configuration.loadGitConfig`, a
`*gitEnvironment` implementation was introduced to wrap the behavior of another
Environment wholesale while at the same time prepending a call to
`loadGitConfig()`.
It should be noted that in order to preserve legacy behavior with using certain
member variables in `*config.Configuration`, there is a circular dependency
between the two types.