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.  
Caution advised WRT Chris' assert advice: 
IIRC, in the absence of indexExprs, cols has two roles -- 1) it is the list of values that comprise the index key AND 2) it is the list of columns whose update will trigger a recalculation of the index entry. BUT in the presence of indexExprs, indexExprs only takes on role 1, and cols continues to serve role 2 -- it is the list of columns underlying the indexExprs.
So, if none of the columns in cols is changed by an update, the expression index entry does not need to be refreshed and the expression does not need to be evaluated.