I can do that, I guess.

* I've got the `GIT_ITEROVER` change working.
* The `git_iterator_next()` has proved to be very difficult because of how the iterators build the value returned by `git_iterator_current()`, so I'm going to skip it.
* It turned out not to be too difficult to make it so that an initial call to `git_iterator_advance()` with no prior call to `git_iterator_current()` will return the initial item (and leave you at that initial position) and only subsequent calls will actually advance. This allows the simple `while (!git_iterator_advance(&entry, iter)) { ... }` idiom because the first "advance" will not effectively advance to the first item in the list. Note that if you explicitly call `git_iterator_current()` before calling advance, then advance will do the normal advance-and-return-new-item behavior.