FindTfsParentCommits : Improve performance

- Remove recursivity
- Don't process the same commit (and ancestors) two times

Fix case where git-tfs take too much time, CPU
 and memory in a none "git-tfs repository" with a lot of commits
Compile Regex
Some trivial code refactoring in FindTfsParentCommits.
Keep topology order to follow
Unit test GetLastParentTfsCommits from GitRepository
Merge pull request #592 from pmiossec/correct_findTfsParentCommits_recursivity

Correct find tfs parent commits recursivity