Merge pull request #1481 from meh/protocol

Split @protocol into @protocol and @for and add __impl__(:for)
Do not show internal compiler output in stacktraces
Improve inspect for functions
Fix the build
Fixed typos in Mix.Tasks.Test docs
Merge pull request #1485 from jwarwick/test_typo

Fixed typos in Mix.Tasks.Test docs
Warn for unmatched docs
Give more information on invalid versions
Rename Protocol.UndefinedError keys
binary_size => byte_size
Get rid of unmatched docs warnings
Clean up IEx helpers to not contain spurious functions
Update CHANGELOG
Do not re-use stacktraces on IEx, closes #1486

This commit also cleans up error normalization throughout Elixir.
A test case changing compiler options should not be async
Fixed docs typos in recent commits
Merge pull request #1487 from jwarwick/typos

Fixed docs typos in recent commits
Update deps docs
Mix retriever should use the .app set at compile_path
Update new app docs