Clarify on the return value of Enum.sort
Better explanation for XOR
"executes" -> "evaluates and returns"
Fix "evalute" typos
Merge pull request #1005 from alco/clarify-sort-doc

Clarify on the return value of Enum.sort
Evaluate first argument in is_record once
Merge pull request #1007 from ericmj/is_record

Evaluate first argument in is_record once
x in "x in [1,2,3]" is evaluated only once
Replace "execute" with "evaluate" for consistency
Fix doctests for unless
`unless` argument clarification
Merge pull request #1006 from alco/kernel-doc-clarifications

Kernel doc clarifications
Ensure s and t helpers work with code compiled via c
Add Enum.empty? and Enum.member? to the Enum.Iterator protocol, fixes #804
Merge pull request #1008 from devinus/expanded-enum-protocol

Add Enum.empty? and Enum.member? to the Enum.Iterator protocol, fixes #804
Liberate `in`, fixes #817
Merge pull request #1009 from devinus/liberate-in

Liberate `in`, fixes #817
Refactor elixir_quote to work on Elixir expressions

This allows us to re-use the code from Macro.escape,
reducing the duplication, and gives us more visibility
into the transformation process.
Improve previous clause does not match warning

We have redefined the warning to say:

  "trying to override previously defined function NAME/ARITY"

We have also relaxed the rules that causes the warning to
emitted. For example, if any kind of meta-programming or
unquoting is detected in the function definition, we skip
the warning altogether.

Closes #934.
Add Enum.uniq/2