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`.
Minor nitpick: we no longer add spaces after `{` and before `}`