Streamline TableRowChecker

Take advantage of the BitSet and only bother checking columns that could violate.

Additionally, remove the constructor that encouraged the only consumers to leak this from *their* constructor.

Include stricter check in ensureColumnsUpToDate(), which 1 IT was violating by munging its own AIS.