Check the elixir req for dependencies too

Also streamline the workflow for deps.get and deps.update.
Add a workaround for Mix deps.get and deps.umbrella what was not loading path deps

This will be properly fixed in a couple days once we move
to _build directories.
No need to support @recursive :both anymore
Do not fetch the manager before the repo is available
Add a test case ensuring managers are not set eagerly
Move unicode from priv/ to unicode/
Do not allow duplicated projects to be pushed onto the stack

Closes #1846
Remove duplication in deps.compile
Mark the autogenerated lib/src/elixir.app.src as such
Allow compilation in R17A

Allow elixir to be compiled using R17A as well
Allow lower case escapes in URI

See RFC 2396 2.4.1
Closes #1857
Dependencies convergence properly relies on requirements

Previously Mix required dependencies to have exactly the same
requirements but now we just check all requirements satisfy the
current version.
Store only app names in Mix.Dep.deps
Add support for optional dependencies
Merge pull request #1856 from ToJans/patch-1

Allow compilation in R17A
Merge pull request #1855 from alco/elixirappsrc

Mark the autogenerated lib/src/elixir.app.src as such
Optional deps should be kept for the project that specifies them
Improve docs and error messages
Update CHANGELOG
Make test that changes global state sync