ENG-6071 Allow partition column and replicate/partitioning changes on empty tables

This has most of the code for unique indexes and other changes, but doesn't have the CatalogDiffEngine code or the supporting tests yet.
Some diagnostics might save a few steps some day like: 

fail("Expected ProcCallException but the schema migration succeeded."); 

fail("Expected ProcCallException but got: " + e);