Commit traversal
An iterator over the ancestors one or more starting commits
Specify how to handle commit parents during traversal.
Specify how to sort commits during traversal.