Fix return type inference for aggregate calls: it should consider number of items in GROUP BY clause.
Side fixes:
  - alter min/max return type inference to ARG0_NULLABLE_IF_EMPTY (nullable when no keys in group by)
  - PushAggregateThroughUnionRule
  - ability to log final plan in Prepare
  - make emp.mgr nullable (just to increase test coverage)