Eng 7326 plannode reorder

This pull requests is basically reordering the Projection node and ORDER BY node for step 1. Step 2 will make the Aggregation node and Projection node inline for certain cases.

For some cases we can not reorder the plan node tree for ORDER BY, I regressed it to use the old plans although they are not efficient.
So, then you should be able to give me a specific example query that will make hasAggregateOrGroupby() return false but hasDistinctWithGroupBy() return true.