Fixed GenFSM example code and typos.
Updated GenFSM example code
Wrap Mix.Shell.cmd with " instead of '

Single quotes can't be escaped in the shell so commands containing '
will not work. Instead wrap the command in double quotes that can be
escaped and escape " in the command.
Merge pull request #1478 from ericmj/mix-cmd-quotes

Wrap Mix.Shell.cmd with " instead of '
Merge pull request #1477 from jwarwick/genfsm_docs

Updated GenFSM
Split @protocol into @protocol and @for and add __impl__(:for)
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.