Fetch merge changesets : find them and add the corresponding commit as parent commit

For the moment, just a trace if the commit for the parent changeset was missing because not yet fetched :(
rcheckin merge commit as a merge changeset

- find the tfs repository path of the parent commit
- create changeset of type merge with the previously found tfs repository path
- Resolve conflicts found by TFS by "AlwaysAcceptMine" because merge have already been done with git
refactoring InitBranch to prepare init branches with interdependencies
Add an option to stop the fetch when a merge commit couldn't be created

This option will permit to fetch the other branches to solve the dependency
Fetch all the merge changesets and interdependant branches when clone --with-branches
fetch (recursively) missing commits from merged branches
Stop when a merge commit was done with a tfs tracked branch without all commits checked in

...otherwise the merge commit won't be materialized :(
Correct UnitTests