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
Add location of overridden def in error message

When a def is overridden, for example because there are multiple
clauses with the clauses of a different def are between them, it
is nice to know where the def that was overridden starts.

This should fix #1559.
Add test for overridden def warning
Use relative filename in redefined def warning

The absolute filename can be a bit long, which makes the warning
slightly harder to parse for humans.
Put overridden def test in warning_test.exs

This removes the need for a separate fixture.
Fix bug on sorting algorithm on certain branches, closes #1580
Ensure proper line on interpolations inside heredocs, closes #1581
Merge pull request #1579 from pminten/add-location-of-overridden-def

Add location of overridden def in warning message