Pass the relaxed option when downloading rebar

Closes #2152
Make iolist_to_binary/iolist_size a soft deprecation
Fix Elixir tests on Windows, closes #2190
Fix bug in for comprehensions
Revert "Allow overriding of undefined dependency SCM"

This reverts commit 5dd7a2ba3a08df89c5dd159bf66a4b22fe1a3f3f.

Conflicts:
	lib/mix/lib/mix/dep.ex
	lib/mix/lib/mix/dep/loader.ex
	lib/mix/test/fixtures/deps_status/custom/noscm_repo/mix.exs
	lib/mix/test/mix/tasks/deps_test.exs
Improve hex workflow

We do this by automatically starting hex, if one is available,
and by providing a local.hex task, similar to how we handle Rebar.

Note that this does not make Mix depend on Hex, we do this on a
best effort basis (similar to Rebar).
Improve message for rebar errors, closes #2189
Make more deprecations soft, update CHANGELOG
Fix cli tests to avoid unix warnings

When running on unix, we may emit warnings if the filesystem
is not configured to latin1, so we relax the tests assertion
to account for the warnings.
Revert "Fix cli tests to avoid unix warnings"

Reverting in favor of the warning being fixed locally.

This reverts commit 0ddcba788dd4c89a7deb5b157cb3c0df1a4d3a52.
Ensure we only allow horizontal space in heredocs
Add mix iex