Add support for Enum.group_by/2.

Takes a collection and a function. The function takes a value and
returns a group for that value. The result is a map where the keys
are group values and the values are a list of elements from the
collection for which the function returned that particular
group value.