windows: explicitly point GIT_SSH to ssh.exe
git: only add GIT_SSH env var if it doesn't exist already
windows: fix build
plugins: respect the Backend element. closes #1224
fetcher: create separate Base, SSH, and Git classes. cleaner abstraction.
windows: Fix GIT_SSH path to ssh.exe
Merge branch 'tortoise'

Conflicts:
	SparkleLib/Git/SparkleGit.cs
	SparkleLib/SparkleFetcherSSH.cs
	SparkleShare/SparkleControllerBase.cs