Update() fixed for case when file cannot be checkout from TFS
GetRootChangesetForBranch catch VersionControlException
Init branch crash fixed if branch already exist (big problem with `branch --init --all`)
Better perf by caching branch list

Conflicts:
	GitTfs.VsCommon/TfsHelper.PostVs2010.Common.cs
Ask Tfs server tfs branches only once
Retry on timeout
GetChangesets()  asks changesets by parts
ParseEntries()  called only when really needed
Set commit sha for added git objects
Garbage collection added to `clone` and `branch --all` commands
ReadIdentity crash fixed
HasWorkItems crash fixed
Support resume interrupted clone
Because the directory exit don't assure that the git repository have been initialized

ex: git tfs clone [...] .
Check latest changesets first
Apply() moved after ProcessMergeChangeset()
Merge pull request #530 from KindDragon/small-improvments

Small improvements