Allow plugins to have native dylib dependencies

Ensure that the dynamic linker search path contains the location of the output
directories for these dependencies when compiling with plugins.

Closes #597
auto merge of #617 : alexcrichton/cargo/issue-597, r=brson

Ensure that the dynamic linker search path contains the location of the output
directories for these dependencies when compiling with plugins.

Closes #597
Remove the deprecated -u flag

This flag has been deprecated in favor of `cargo update` for quite some time
now.
Update to rust master

Also stop denying all warnings and only deny some common warnings. Allow
warnings such as deprecation.

Closes #634
auto merge of #635 : alexcrichton/cargo/update, r=alexcrichton

Also stop denying all warnings and only deny some common warnings. Allow
warnings such as deprecation.

Closes #634
auto merge of #625 : alexcrichton/cargo/no-more-deprecated, r=brson

This flag has been deprecated in favor of `cargo update` for quite some time
now.

r? @brson
Allow updating to a precise revision

This commit adds a flag, --precise, to cargo update. This flag is used to update
a dependency to precisely an exact revision (or branch) as part of an update
step. For git repositories the argument is some form of reference, while
registry packages this will be a version number.

The flag --precise forces a non-aggressive update and will fail if the
--aggresive flag is specified.

Closes #484
auto merge of #624 : alexcrichton/cargo/issue-484, r=wycats

This commit adds a flag, --precise, to cargo update. This flag is used to update
a dependency to precisely an exact revision (or branch) as part of an update
step. For git repositories the argument is some form of reference, while
registry packages this will be a version number.

The flag --precise forces a non-aggressive update and will fail if the
--aggresive flag is specified.

Closes #484

r? @wycats
Make a test more resilient against the host system

If the host system had $HOME/.cargo/config which configured a user name/email
then this test would fail because those would be prioritized over $USER.

Closes #514
Fix infinite recursion in CargoError impl for Box<CargoError>

Insert necessary explicit derefs.
auto merge of #645 : bkoropoff/cargo/fix-infinite-recursion, r=alexcrichton

Insert necessary explicit derefs.
Use the new Entry API for HashMaps
auto merge of #647 : dotdash/cargo/entry, r=alexcrichton
Allow selectively cleaning packages

This adds a new argument to `cargo clean` which will enable selectively cleaning
particular packages. The command only cleans the package specified, no other
(not the dependencies of the package).

cc #537
Allow specifying what to build as part of `cargo build`

This allows selectively building one dependency within a dependency graph for
debugging its build or such.

Closes #537
Add cargo {test,bench} -p <spec>

This functionality allows running tests and benchmarks on any upstream
dependencies in the dependency graph. This is most useful for path sources all
developed in tandem (see Servo for instance).

In terms of built artifacts, this will actually preserve as many artifacts as
possible. That means that if you test a low-level dependency with the high-level
artifacts already built, the high-level artifacts will not get removed. This
means that it's possible to accidentally have a low-level dependency to depend
on a higher level one just because it's lib is picked up via -L, but this is
generally a necessary evil to get testing to not rebuild packages too often.

Closes #483
Deprecate `cargo update foo`

To maintain consistency with `cargo {build,test,bench,clean}` the `update`
subcommand now takes a specific package via the `-p` argument instead of as a
positional argument.
Improve the error message for ambiguous specs
auto merge of #628 : alexcrichton/cargo/issue-537, r=brson

This is rebased on https://github.com/rust-lang/cargo/pull/617 as I wanted to use one of the functions added in the patch. Otherwise the details are in the commits.
Bump version of dependencies