Partitioned hash aggregations

This implements a fixed size partitioning for hash aggregations set by the `query.initial-hash-partitions` configuration option (default 8)