TEPHRA-4 TransactionVisibilityFilter should support additional filtering on visible cells

This change adds support in TransactionVisibilityFilter for an additional filter to apply to visible cells.  This allows the subfilter to control the return code used for these cells (e.g. INCLUDE vs. INCLUDE_AND_NEXT_COL).

This also cleans up some filter handling and allows the TransactionVisibilityFilter construction to be overridden in TransactionDataJanitor, so that other implementations can take advantage of the additional filtering.
Unfortunately, no.  Since Filter changed from an interface to an abstract class, I believe we will need a separate version at least for 0.94 vs. 0.96/0.98.  We could do a common base module for 0.96/0.98, but that would be a bit of work.