Various ways to traverse commit graphs and trees with implementations as iterator
Commit traversal
Tree traversal