Copy environment for subprocess execution

Git utilizes multiple environment variables to control various
behaviours. Make sure to set LC_MESSAGES on a copy of the environment
instead of discarding any variables that may be set by the user or
default shell environment such as EDITOR.

Add test to assert that when overriding GIT_EDITOR via os.environ that
the modified value will be picked up by and git commands called.
Merge branch 'electrofelix-0.3-fix-env-usage' into 0.3