ENG-4625: use existing index only to speed up min/max maintainance; add indexForMinMax in MaterializedViewInfo catalog definition.
TODO: add more test cases when using indexes.
ENG-4625: a minor change
ENG-4625
ENG-4625: new ddl compiler and indexed min/max matview test cases.
ENG-4625: apply post filter, add more tests.
ENG-4625: use one NValue instead of keeping track of both min and max.
ENG-4625: ignore null value when inserting / deleting rows from materialized view and add a null value test case.
Merge remote-tracking branch 'origin/release-3.7' into ENG-4625-change-catalog

Conflicts:
	tests/frontend/org/voltdb/regressionsuites/TestPlansGroupByComplexMaterializedViewSuite.java
Merge remote-tracking branch 'origin/release-3.7' into ENG-4625-change-catalog

Conflicts:
	tests/frontend/org/voltdb/regressionsuites/TestPlansGroupByComplexMaterializedViewSuite.java
ENG-4625: changed based on paul's feedback.
Didn't change the algorithm to find the index for min/max in DDLCompiler
because we still want full key coverage index.
Merge remote-tracking branch 'origin/release-3.7' into ENG-4625-change-catalog

Conflicts:
	tests/frontend/org/voltdb/regressionsuites/TestPlansGroupByComplexMaterializedViewSuite.java
ENG-4625: back to use tuple pointer for index case because different behavior with and without predicate.
add 2 DDLCompiler test cases.
ENG-4625: remove printf for debug.
Merge pull request #817 from VoltDB/ENG-4625-change-catalog

[release-3.7] Eng 4625 change catalog