Add manifest files to yecc and leex compilers

Makes sure that the correct generated files are deleted and cleaned
even when the source files are moved or renamed.
Add manifest files to erlang compiler

Makes sure that the correct generated files are deleted and
cleaned even when the source files are moved or renamed.
Check .compile.erlang mtime when compiling elixir

Consider erlang files when checking if elixir files needs to be
recompiled.
Use all compilers manifests when cleaning

A compiler can expose a `manifest/0` function providing the filename of
its manifest filename.
A manifest file should contain a list of files that was generated by the
compiler. They should be absolute paths relative to the project root and
be separated by newlines.
Mix.Tasks.Help.run([]) outputs information about current default task
Fixed doc typos in Kernel.Special_Forms
Fixed doc typos in ExUnit
Fixed doc typos in ExUnit.Assertions
Fixed doc typos in ExUnit.DocTest
Fixed docs as recommended by @alco
Remove unused test_helper project configuration from mix
Merge pull request #1429 from jwarwick/ex_unit_docs

Fixed doc typos in ExUnit
Merge pull request #1427 from jwarwick/doc_typos

Fixed doc typos in Kernel.Special_Forms
Improve use of operator has no effect messages, closes #1431
Add expansion callsite to the end of the stacktrace, closes #1426
Merge pull request #1425 from tonini/mix-help-default-task-description

Mix.Tasks.Help.run([]) outputs information about current default task
Merge pull request #1422 from ericmj/mix-manifest

Add manifests for yecc, leex and erlang compilers
Created 1st version of GenFsm
Clean up GenFSM docs
Update CHANGELOG