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.
Yes, I agree that reversing the arguments reads a little more naturally, but I believe I had ordered like this since the second arg was the nullable one.  From the processing logic, I think the current ordering makes sense.