Added map_agg aggregation function

This PR implements the ``map_agg`` function (#2014) to aggregate key/value pairs into a single map.
I'll fix this when I merge, but this isn't right. combine() needs to merge the two states together and store the result in `state`