Allow RevWalk applications to add new starting roots during traversal
Some applications may discover new commits during traversal that they
really need to include in the current traversal, or at least have in
the current traversal so that flags will carry down through history
and fall onto the correct locations later on.
We now give the RevWalk direct access to the queue that backs the
pending generator (the main processing loop), so that RevWalk's
own markStart and markUninteresting methods can be used to insert
new items into the queue structure.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>