OAK-1318: EventIterator keeps references to already seen events

Use a custom Iterator wrapper that only keeps a reference to a single underlying Iterator at a time, and discard already procesed EventIterators.

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1557203 13f79535-47bb-0310-9956-ffa450edef68