Added map_agg aggregation function

This PR implements the ``map_agg`` function (#2014) to aggregate key/value pairs into a single map.
Also, you can simplify the NULL key skipping by changing your parameter to INPUT_CHANNEL instead of NULLABLE_INPUT_CHANNEL. Then it will never be called for NULLs in the key channel