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`.
I was just copying @pragdave's style from "Programming Elixir".  Maybe I should add an errata for the book to say to update the style since it may be influencing a lot of new Elixir programmers like myself.