Make MultiColumnRestriction subclasses implement MCR
Add tests for reversed comparators
Keep tuple components separate until bounds are built
Handle empty names, null first restriction