[ASTERIXDB-1753][SQL] Disable auto-plural for group-by. - user model changes: do not perform auto-scalar-to-plural transition for variables that are defined prior to a group-by group clause after the group-by clause. - storage format changes: no - interface changes: no
details: - migrated existing test queries that use auto-plural; - added a negative test query.
Supports flexible degree of parallelism. Detailed list of changes include: - Add the IClusterInfoCollector interface and feed that to the compiler; - Add the number of cores into the heartbeat; - Add partition calculation in APIFramework; - Fix partitioning property requirements in binary operators such as Join and UnionAll; - Fix PushSubplanIntoGroupByRule for type propagation; - Fix InlineLeftNtsInSubplanJoinFlatteningVisitor for the returned top join operator; - Add unit test for partition calculation in APIFrameworkTest - Add integration test SqlppExecutionFullParallelismIT, SqlppExecutionLessParallelismIT, AqlExecutionFullParallelismIT, and AqlExecutionLessParallelismIT for different parallelism settings; - Refactor AQLExecutionTest and SqlppExecutionTest; - Separate one cluster state test out from AqlExecutionTest.