Windowed aggregation now works, including adding a project to permute fields, and code generation to calculate aggregate functions.

Other work:
1. Rename RexWindow.physical to .isRows, ditto WindowRelBase.Window.physical.
2. Make some fields of AggregateCall public.
3. Obsolete WindowRelBase.Partition. Window now contains both partition and sort info.
4. Partitioning key now represented using BitSet, like AggregateRel's groupSet.