Added a command that needs to be run to get the LibGit2Sharp repository properly
Merge pull request #696 from Kantis/improved-readme

Missing command in readme
doc: improvements
Fix link for running the unit tests
Merge pull request #701 from sergkr/doc-fix

Fix link for running the unit tests
Add Unit tests for IEnumerable<BranchTree>.GetAllChildren()
Merge pull request #702 from pmiossec/add_unit_tests

Add Unit tests for IEnumerable<BranchTree>.GetAllChildren()
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!
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.