Read parent tree into the index before applying changes
Rename UpdateTfsHead and new purpose for UpdateRef
Compute base changeset Id
Unshelve based on the parent changeset Id
Fix Fetch for initial commit
Introduce FindCommonGitCommit

Instead of relying on the base changeset IDs coming from the shelveset,
the first git commit that is found to contain the exact SHA1 for all
the files in the shelveset is used as the parent.
Revert "Introduce FindCommonGitCommit"

This reverts commit 34cef5d7d04f70fd0b7a9111994496a7ed0af826.
Resolve a couple of things.
Merge remote-tracking branch 'origin/master'

Conflicts:
	GitTfs/Core/GitTfsRemote.cs
I didn't mean to change this.
Less shelling
Reuse the index scrubber.
IsExistingInTfs() for VsFake.
Merge pull request #351 from jru/UnshelveFromTFSParent_autocrlf

Unshelve from the actual Shelveset's parent