Implement flag to clean unused dependencies

This addresses issues #2569
https://github.com/elixir-lang/elixir/issues/2569
Fix example in config/config.exs that's created for new projects.
Merge pull request #2667 from MSch/fix-new-config-exs

Fix example in config/config.exs that's created for new projects.
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