The After/Before Operators will be reused in the follow-up change to
implement the merge operators.
I had to split it into a separate change, because the existing tests
for change queries do not cover the code path that invokes the match
method of IndexedPredicates.
The match method is only required for change index queries, see
https://gerrit-review.googlesource.com/c/gerrit/+/79515.
The query tests cover the cases when the IndexedChangeQuery is used to
filter the results returned from other IndexedChangeQuery (as rewritten
by ChangeIndexRewriter, see the test).
Also, ideally, the TimeRangePredicate should look more like
IntegerRangePredicate.
I would prefer to do another round of refactoring for this to work on
any index-specific edge cases.
Change-Id: I983d157809821fa7ac05d6f89802bd1734017239