Auto merge of #4594 - behnam:workspace, r=alexcrichton
authorbors <bors@rust-lang.org>
Tue, 10 Oct 2017 19:20:43 +0000 (19:20 +0000)
committerbors <bors@rust-lang.org>
Tue, 10 Oct 2017 19:20:43 +0000 (19:20 +0000)
[core/workspace] Create WorkspaceRootConfig

Create `WorkspaceRootConfig`, which knows its `root_dir` and lists of
`members` and `excludes`, to answer queries on which paths are a member
and which are not.

----

This is the first step of the fix, that's only a codemod to put together the relevant parts : `workspace.members`, `workspace.excludes`, and the `root_dir` (where `members` and `excludes` are relative to). There's no logic change in this PR to keep review easier.

The added tests are commented out, because they fail with the current logic. The next step to get these steps to pass.

Tracker: <https://github.com/rust-lang/cargo/issues/4089>
Old PR: <https://github.com/rust-lang/cargo/pull/4297>


Trivial merge