INSERT INTO ... SELECT multi-partition and ad hoc support

For insert-into-select testing, generate lots of single- and multi-partition stored procedures with different combinations of partitioned/replicated tables, with and without parameters.  Generate ad hoc statements too.

Implement replicated/replicated support for insert-into-select.

Make PlanAssembler handle insert subqueries with same mechanism used for select subqueries.

Create InsertSubPlanAssembler to help infer partitioning info for INSERT INTO SELECT statements.
For single partition case, add a test case for CONSTANT partition value, like 

INSERT INTO P1 SELECT 2, P3.F FROM P2 INNER JOIN P3 ON P2.A = P3.A WHERE P3.A = 2;
Maybe variations on the column name with constants.