Exchange_rule: change to project/agg rel because of optiq's recent change of copy() method in the two Rel classes.
Populate the hash partitioning keys for streaming agg physical rule and add subsumes logic for hash partitioning.

Conflicts:
	exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/StreamAggPrule.java
Rebase on latest changes in optiq-opt2 branch, added round robin and broadcast distribution, updated subsumes.

Conflicts:
	exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/StreamAggPrule.java
Added initial plan generation capability to PhysicalPlanCreator.  Modified a few selected Prels to create physical operators.  Refactored all classes in planner.common to be abstract based classes for classes in planner.logical and planner.physical.

Conflicts:
	exec/java-exec/src/main/java/org/apache/drill/exec/planner/common/DrillProjectRelBase.java
	exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ProjectPrel.java