Convert Git operations to GitPython
cleanup bisection
cleanups and fixes to GitRepository and cache resolve_tag calls
Convert HgRepository to use hgapi
use something similar to git log --first-parent for hg
This means that some edge cases repeat the last commit but some cases don't get all the revisions otherwise
Cleanup repository.py
allow using the profiler
Add repository tests
Write Project tests and fix repository.rev_list()