Specify Git and PuTTY locations with environment variables

In addition to Git Extensions' existing auto-detection logic it would be nice if the locations of Git and PuTTY could be specified using environment variables.

This is espescially useful in combination with a dependency-injecting package manager such as [Zero Install](http://0install.de), which uses environment variables to tell applications where they can find their dependencies.
That's basically what I meant to say: users are used to having to restart an app for changes to environment variables to be become effective. I just thought the UI should reflect this, and also not change until the app is restarted, to avoid confusion.

There is one other use-case as well: when using a batch file (or something like [Zero Install](http://0install.de)) to change the `PATH`, e.g.:
```
path %path%;C:\Program Files\Git\bin
GitExtensions.exe
```
the current UI will say it can't find sh.exe.