Being able to clone sub branches and use of `--with-branches` option

We are now, not obliged to clone the trunk to use the `--with-branches` option!
That way the sub branch will be cloned (with all the branches merged into it)
 and all its children branches will be initialized after.

There is no more technical reasons that prevent cloning a sub branch...

Solve https://groups.google.com/forum/#!topic/git-tfs-dev/XndbEXRcx1M
Merge pull request #703 from pmiossec/clone_subbranch

Being able to clone a sub branches and use of `--with-branches` option
Some silly people could add changes when renaming a branch
Detecting an branch rename changeset
Process changeset when with new branch (instead with old one)

Ignore rename changeset when discovered because
we want to process it as a changeset of the renamed branch.

This way, if changes are made (other than the branch renaming),
there will be fetched in TfsHelperBase.GetChangesets()!

Before that change, there would have been not fetched
because the tfs path was the one of the old branch but
the changes belong to the new renamed branch path!
Manage case where the first changeset of a clone is a rename changeset
refactoring
We should look for renames even if there is a tfs remote (but empty!)
Refacto: Store rename data in FetchResult and pass it to the fetch of the next branch!