Refactor first stage of RevWalk's path limiter
After much reflection I realized that the include part of our
TreeFilterPendingGenerator was really the same as what any of
the RevFilter subclasses were trying to do, and that we can
really just combine the user supplied RevFilter with the one
we create for the first stage of the path limiter function.
This saves us a virtual dispatch in the common case, as we do
not call a no-op method that is by default defined to always
"return true". It also makes the code a lot easier to follow.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>