Only mix compile -q recompiles unnecessarly

mix compile --quick was recompiling previously compiled files even when nothing had changed
Merge pull request #1093 from bellthoven/fix-mix-compile-quick

Only mix compile -q recompiles unnecessarly
Remove unsupported matching on rescue clause
Improve docs for records
Change preference of |> to support constructs like `1..5 |> Enum.to_list`
Check if a module is open or not when defining a record
Check if we are in the current module context as a fast path
Check if the module is in the same context before checking if it is open
Deprecate IO.getb in favor of IO.getn
Merge pull request #1094 from mururu/getb-to-getn

Deprecate IO.getb in favor of IO.getn
Fix docs for IO.getn
Merge pull request #1095 from mururu/fix-getn-doc

Fix docs for IO.getn
Improve error message for invalid patterns in guards and matches

Closes #1092
Implement a break-trigger for incomplete expressions in IEx. Closes #1089
Call it simply break-trigger in the docstring
Document the break-trigger in `h/0`
Change the break-trigger for IEx to #iex:break
Merge pull request #1096 from alco/iex-break-1089

Implement a break-trigger for incomplete expressions in IEx.
Improve docs for the IEx module and some error messages as well
Update CHANGELOG