More fixes relating to temporary tables:
- Enable drop temporary table.  If the argument is a non temporary table, complain.
- Added support for alter, drop.  In the case of drop, arrange to clean the TemporaryTable record
  from the catalog.
- Switch to all primitives for TemporaryTable, still need to do cleanup on shutdown/startup
- Switch drop table to a ddl callback in order to update the pin count on the worker group
  and the temporary table schema at the appropriate time.  Migrate the postCommitAction from
  QueryStepDropTableOperation to the callback, remove the special execution step.
- Add a flag to qso:multitupleredist to force redist through an extra temporary table if
  src & dest groups are the same and any userland temporary tables are involved (either src
  or target).
- Allow TableKeys to be frozen in the cache (disconnect any parser info)
- Create an autoinc interface.  Make TableKey implement it.  This mostly hides the
  autoinc tracker location from the caller.  Add a dumb transient tracker to ComplexPETable
  for userland temporary tables.  Add a TemporaryTableKey for purposes of quickly detecting
  the presence of userland temporary tables and handling autoinc access.  Arrange for
  the AutoIncrementBlock to use frozen table keys in place of direct schema references
  to TableScope or PETable.  Also arrange to use TableKeys around autoinc access for
  show create table.
- Add scoping to information_schema.temporary_Tables in order to limit to current connection.
- Arrange for show keys, show columns, describe to work correctly for userland temporary tables.
- Fix recreate for ComplexPETables - specifically note the autoinc flag
- Slightly restructure persistence around PEColumn to support yanking the external type def
  out of a userland temporary table column by creating a mostly empty UserColumn.
- Ensure that column key flags are updated correctly in the tschema.
- Add an upgrade for the new TemporaryTable entity.