Implement flag to clean unused dependencies

This addresses issues #2569
https://github.com/elixir-lang/elixir/issues/2569
Ensure we tag the destination when compiling through mix

Closes #2533
Add version checks and proper error formatting to escripts. Closes #2709

Signed-off-by: José Valim <jose.valim@plataformatec.com.br>
Remove warnings from the test suite
Deprecate x.Alias syntax
Update CHANGELOG
Normalize is_guard checks
Make do_surround_many private on Inspect.Algebra
Merge pull request #2723 from edgurgel/fix-private-function-on-algebra

Make do_surround_many private on Inspect.Algebra
Merge pull request #2715 from nurugger07/remove_unused_deps

Add an unused flag to deps.clean & deps.unlock
Straight up and unify impls of clean, deps.clean and deps.unlock
Document that @compile accumulates.
Merge pull request #2725 from MSch/document-compile-attr-accumulation

Document that @compile accumulates.
Get rid of Logger timeout config, closes #2724
Add tests for sync_threshold
Release v1.0.0-rc1
Start v1.0.0-rc2
Friendlier unquote_splicing error with hints
Merge pull request #2734 from gjaldon/clearer-unquote-splicing-error

Friendlier unquote_splicing error with hints
Fix unused warnings