Fix for #576. Fetching will use all refs when scanning for latest changeset.

Previously fetch would use HEAD to scan for latest changeset in the parent tree. This was sometimes a problem in a collaboration workflow where a shared git repository is used to synchronize TFS fetches.
If TFS changes were fetch from the shared remove, but the HEAD was not placed about the fetched branch, then the next TFS sync would create duplicates.
This fix scans all refs for latest TFS changesets instead. It is not an elegant fix though, but the GitRepository.GetLastParentTfsCommits method needs some refactoring.