- Add the TEMPORARY keyword to create table support in the parser.
- Break apart projecting execution steps into two separate classes - one for regular query steps
  (still projecting execution step), and one for redistribution steps (redistribution execution step),
  in preparation for changes around create temporary table.
Refactor the nascent pe table infrastructure used for create table as select into
a more general structure, a ComplexPETable, which can be used for both userland
temporary tables and create table as select tables, which will allow us to support
create temporary table as select.
Intermediate commit - arrange to mark tables as temporary.
Merge branch 'kanzaros' into kanzaros_cta
Fix for PE-1546.
Fix for PE-1545.
Fix for PE-1546.
Merge branch 'master' of github.com:Tesora/tesora-dve-pub
[maven-release-plugin] prepare release v1.6.0
[maven-release-plugin] prepare for next development iteration
License header fixes.
[maven-release-plugin] prepare release v1.6.0
[maven-release-plugin] prepare for next development iteration
Fix for PE-1541.
Merge branch 'master' of github.com:Tesora/tesora-dve-pub
Merge branch 'master' into mavenRelease
[maven-release-plugin] prepare release v1.6.0
[maven-release-plugin] prepare for next development iteration
More changes for temporary tables:
- Add a catalog entity to back temporary_tables and global_temporary_tables.  Add
  info schema tables for same.
- Arrange for the emitter to emit the TEMPORARY keyword appropriately.
- Add a new schema subtype (TemporaryTableSchema) to hold temporary table definitions with their
  interesting lookup rules.
- Switch DDLCallback and NestedDDLCallback from interfaces to abstract classes.
  Add two new methods on DDLCallback: onRollback & onCommit.  Use these to arrange
  to populate the TemporaryTableSchema on the context for the connection as appropriate
  on create table.  Still to do: use them to handle drop table.
- Introduce a new class, a TableResolver, which encapsulates the resolution logic.
  Use it in place of bespoke methods.  The primary purpose of this class is to unify
  table resolution code, and make it easier to insert the temporary table lookup.
  There are still some spots using the existing bespoke methods, these need to be
  cleaned up.
- More changes in ComplexPETable to handle temporary tables - in particular ensure
  they have no persistent representation.
- Add worker group pinning.  Worker Groups keep a counter of how many temp tables are
  on them, and will not allow themselves to be purged if any temp tables are outstanding.
Arrange for show external services to also show the service config string.
Modify the external service test to clean up before it runs to allow repeatable runs.
Add a few more tests for the output of show external services.
Add a catalog upgrade for the extra column in the information_schema.external_services table.