Put -L paths from scripts are in LD_LIBRARY_PATH

Like the old build command, this commit adds support for executables run by
cargo (and tests) to ensure that `-L` paths for a dynamic library are added to
LD_LIBRARY_PATH after a compilation is run.

Closes #915
Don't require a manifest for `cargo owner` commands
Ensure crates are tested after packaged

The `target` directory was erroneously being used from the crate root rather
than the root of the package directory itself, leading to packages not actually
testing what's precisely being published.
Specifically look in the home dir for configuration

Some workspaces, such as windows, often have the home directory not in the
hierarchy of where projects live, which means that configuration may not work by
default. The home directory, however, is already singled out for `cargo login`
and it's pretty semantically special, so this commit ensures that we always look
at the home directory for configuration if it exists.

Closes #933
Test source equality when locking dependencies

When applying the lockfile to a resolve graph, we need to take into account that
the listed source of dependencies can change over time, in which case we cannot
lock to the previous version but instead need to continue onwards with updating
the listed source.

Closes #951
Fix the root output directory when cleaning examples

This forgot to take into account the logic from some other locations, so I added
a helper method!

Closes #912
auto merge of #918 : alexcrichton/cargo/issue-912, r=brson

This forgot to take into account the logic from some other locations, so I added
a helper method!

Closes #912
auto merge of #919 : alexcrichton/cargo/issue-915, r=brson

Like the old build command, this commit adds support for executables run by
cargo (and tests) to ensure that `-L` paths for a dynamic library are added to
LD_LIBRARY_PATH after a compilation is run.

Closes #915
auto merge of #936 : alexcrichton/cargo/issue-923, r=brson

Closes #923
Upload dependency kinds to the registry

This ensures that the registry understands whether dependencies are build
dependencies or dev dependencies.

Closes rust-lang/crates.io#38
auto merge of #939 : alexcrichton/cargo/issue-38, r=brson

This ensures that the registry understands whether dependencies are build
dependencies or dev dependencies.

Closes rust-lang/crates.io#38
auto merge of #944 : alexcrichton/cargo/test-some-packages, r=brson

The `target` directory was erroneously being used from the crate root rather
than the root of the package directory itself, leading to packages not actually
testing what's precisely being published.
auto merge of #946 : alexcrichton/cargo/issue-933, r=brson

Some workspaces, such as windows, often have the home directory not in the
hierarchy of where projects live, which means that configuration may not work by
default. The home directory, however, is already singled out for `cargo login`
and it's pretty semantically special, so this commit ensures that we always look
at the home directory for configuration if it exists.

Closes #933
Don't fail `cargo login` if `~/.cargo` doesn't exist

Closes #927
Clean up code around the crawling of a directory

The logic for "not recursing into `target`" was pretty hokey and needed
replacement. This commit also unfies the paths a bit to ensure that the main
loop is the same part that adds the root package itself.

This reorganization ends up closing #937
auto merge of #941 : alexcrichton/cargo/issue-927, r=brson

Closes #927
auto merge of #947 : alexcrichton/cargo/issue-937, r=brson

The logic for "not recursing into `target`" was pretty hokey and needed
replacement. This commit also unfies the paths a bit to ensure that the main
loop is the same part that adds the root package itself.

This reorganization ends up closing #937
auto merge of #965 : alexcrichton/cargo/issue-951, r=brson

When applying the lockfile to a resolve graph, we need to take into account that
the listed source of dependencies can change over time, in which case we cannot
lock to the previous version but instead need to continue onwards with updating
the listed source.

Closes #951
Support documenting a selective package
Print the right URL for `cargo login`

Closes #968