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 was a little confused by this because it seems like it might be possible to create an index on multiple expressions, one of which is a simple column.  I'm not sure if we allow this or not.  Anywyay, after some inspecting it looks like if indexExprs is not null, then cols will always be null, so maybe add an assert to that effect:
```Java
  if (indexExprs != null) {
    assert(cols == null);
    ...
```