Fixing typos in Mix.Task docs
Merge pull request #1365 from jwarwick/mix_doc_typos

Fixing typos in Mix.Task docs
Small clean up on parser file
Optimize `HashDict` to store pairs in a cons cell reducing storage per key by half
elixir.bat: accomodate for paths with spaces

Signed-off-by: José Valim <jose.valim@plataformatec.com.br>
Show exit messages in IEx
Merge pull request #1366 from ericmj/iex-show-exit

Show exit messages in IEx
Improve error report on unhandled ->
Clean up ExUnit.CaseTemplate to allow composition
Implement bindings in Elixir
Clarify docs for Macro.expand_all/2
Clean up ExUnit.Case
Do not try to parse arguments for undefined functions
Ensure HashDict can be serialized into attribute, closes #1368
Update and remove out of date erl tests
Tighten up the grammar rules regarding parentheses omission

Prior to this commit, Elixir allowed too many ambiguous calls
by ommitting the parentheses:

    do_something 1, is_list [], 3
    [1, is_atom :foo, 3]

Both cases above would lead to a compilation error, as an attempt
to call is_list/2 and is_atom/2 would happen. Those examples will
now raise a syntax error, pointing to the ambiguous location.

We have disallowed such examples throughout the language with
the exception of one argument calls:

    assert is_list []

Examples as above are extremely frequent and were kept as is.