Constraintfixes

Address ENG-7242, ENG-7304, ENG-7305:
ENG-7242 - Fix issues caused by ALTER TABLE dropping VoltDB custom constraints in HSQL
ENG-7304 - Inability of HSQL to parse ALTER TABLE ADD CONSTRAINT with expression constraint
ENG-7305 - Allow ALTER TABLE to make column changes to tables with expression constraints/indexes if they're empty.  
I wonder if there is a way to make this class not compile if new members are not handled by the deep copy.  Or, I wonder if we should be writing unit tests that at least characterize the behavior we're adding to HSQL.  (I'm not suggesting that you do this for this pull request)