Merge pull request #2379 from jw2013/master

Fix broken promise in Kernel.SpecialForms
Support E in scientific notation for floats
Soft deprecate size/1

Closes #2356
Provide Protocol.derive/3
Migrate from size to byte_size and tuple_size
Allow mix loadconfig to be called multiple times
Support --config on mix run
Fix help for elixirc executables, closes #2380
Make the exit conditions for GenServer/GenEvent/Supervisor clear
Deprecate var!(:atom), add Macro.var/1
Update CHANGELOG
Do not support Macro.var/1
Release v0.14.0
Start v0.14.1-dev
Fix a typo
Merge pull request #2386 from alco/patch-2

Fix a typo
Update IEx.pry documentation

Modified example that works with the current version of Elixir. Fix some typos in the pry console.
Merge pull request #2390 from benjamintanweihao/patch-3

Update IEx.pry documentation
Kill test process only after on_exit runs

We do this to avoid links created during the test from
crashing when the test exits which happened before the on_exit
callbacks run.

This was particularly troubling with GenServer, GenEvent
and Supervisor, in which the first does not crash when
a linked process exits with normal reason, but the other
two do. Due to this behaviour, before this change there was
a possibility of race conditions causing tests to crash on
on_exit.

In case the test process exits with a non-normal reason,
all links will be broken, so the problem doesn't manifest
in such cases.
Update Access docs, closes #2388