Implement flag to clean unused dependencies

This addresses issues #2569
https://github.com/elixir-lang/elixir/issues/2569
Use quotes to avoid space-in-path issues with cygpath
No need in some purges in `Kernel.WarningTest`
No need for `Stream.` prefix
Clarify match?/2 docs.
Merge pull request #2673 from alexrp/master

Clarify match?/2 docs.
Merge pull request #2671 from lexmag/no-purge

No need in some purges in `Kernel.WarningTest`
Merge pull request #2670 from chyndman/cygpath-quotes

Use quotes to avoid space-in-path issues with cygpath
Make a distinction between eol and ;
Do not inherit bugs on GenServer calls and casts

Prior to this change, we were inheriting OTP bug where
bad arguments in call were treated as exits.

We also fixed the bug in cast where messages could be
delivered out of order. It is preferrable to wait on
connection.
fix --no-color / --color option for `mix test`
Merge pull request #2668 from reset/fix-nocolor

fix --no-color / --color option for `mix test`
Minor unquote/1 doc fix.
Merge pull request #2674 from koudelka/unquote-doc-fix

Minor unquote/1 doc fix.
Use GenServer when possible
Improve error message for undefined struct
Output mix version on 'mix -v'
Ensure load_tasks return no duplicates
Add --force option to 'mix local.rebar'
Port the :gen_event client API to Elixir

The only difference is that notify is made similar to
GenServer's cast where an unknown atom name does not
trigger an error.