Added map_agg aggregation function

This PR implements the ``map_agg`` function (#2014) to aggregate key/value pairs into a single map.
Null keys don't make much sense, because you can't dereference the value (null != null).  Also Hive ignores null keys by simply skipping them when reading a file.