added Dict.Behaviour
modifications according to comments from the pull request
Fixed doc typos in Dict
Merge pull request #1571 from sasa1977/dict_behaviour

added Dict.Behaviour
Merge pull request #1574 from jwarwick/dict_typos

Fixed doc typos in Dict
Add Dict.Behaviour to CHANGELOG
Improve OptionParser switch validation

This adds a third element to the tuple returned from OptionParser.parse/2 when the value for an option doesn't match its switch type.
Use list concatenation operator instead of function
Add documentation for invalid switches
Change OptionParser to always permanent invalid list

The tuple returned from OptionParser now always includes the third element (invalid options list).
Update OptionParser test for permanent invalid list
Update mix tasks for OptionParser permanent invalid list
Converge store_option and validate_option in OptionParser
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