Add Enum.flat_map

Returns a new collection appending the result of invoking `fun`
on each corresponding item of `collection`.
Merge pull request #1578 from guilleiguaran/enum_map_flatten

Add Enum.flat_map