Enum.sort_by/3

Fixes #2460

Implement the `Enum.sort_by` I requested in #2460 using the signature Enum.sort_by(collection, mapper, sorter).  sorter is optional and default to `<=/2`.
"map" here can be confusing as many can think it is the `map` data structure. Maybe "Sorts the mapped results of a collection according to the `sorter` function." or something similar?