Add a better way to find the TfsParentChangesets

Correct Tfs remote returned when using option `-I` in the case of a merge commit. It was returning the name of the
Tfs remote with the higher changeset id instead of the Tfs remote of the current branch.

Also remove a call to external git command....
and refactoring GitTfsRemote.GetTfsChangesetById because could not be based on FilterParentTfsCommits() anymore