Add Commit#history_diff

It can be used to enumerate only part of the history by
yielding commits and ignoring entire parent chains.