GEOMESA-122 Split OR filters into multiple queries

* Created a OrSplittingFilter Visitor which helps break apart a more complex Filter into pieces.
* Moved up the SelfClosingBatchScanner into core and implemented a basic CloseableIterator trait.
Remind me, please:  What does this line do when there are no explicit self types declared?