Added map_agg aggregation function

This PR implements the ``map_agg`` function (#2014) to aggregate key/value pairs into a single map.
is there a simpler way to handle these types?