[CALCITE-370] Support GROUPING SETS, CUBE, ROLLUP in SQL and algebra

Includes support for parsing, validating, translating and executing (via EnumerableDefaults.groupByMultiple) GROUPING SETS, CUBE, ROLLUP.

The GROUPING function is now implemented yet. But the row type returned by Aggregate has optional indicator fields, one per key column, which will be used to implement them. Probably quite a few planner rules would find them confusing, so those planner rules should stick to simple Aggregates for now.