PartitionedAgg: consider agg fn pool when choosing partition to spill

When there's memory pressure in PartitionedAggregationNode, we spill
the partition that will release the most memory. However, we weren't
counting the aggregate function's mempool when calculating the largest
partition. This mempool stores intermediate string data, which grows
with the size of the hash table, and is freed when the partition is
spilled.

Change-Id: Ia09beb33e19eecf35446fcf2fa2e4c237a664ec5
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/5292
Reviewed-by: Nong Li <nong@cloudera.com>
Tested-by: jenkins
(cherry picked from commit c4c89bbe1d8775d7a1e99445c0137aac30863a83)
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/5321
Reviewed-by: Skye Wanderman-Milne <skye@cloudera.com>