More updates to master
Add -u to `cargo test`
impl Show for Profile
No need for a TempDir, use `-` as input
Fix filtering for test deps

This fixes `cargo test` to only test the *local* package
Tighten up some tests
Fix some tests
auto merge of #157 : rust-lang/cargo/graph-resolve, r=alexcrichton

This incorporates previous bugfixes by @alexcrichton that are still stuck in bors.
Fix travis builds
auto merge of #162 : rust-lang/cargo/fix-travis, r=tinyfix
Add bare-bones cross compilation support to cargo

This adds a new flag, --target, to the `cargo-build` command. This flag will
indicate that all output should be scoped under the `$triple` directory inside
of the output `target` directory. The compiler is invoked with `--target
$triple` and all custom build commands are passed `TRIPLE` if one is provided.
Implement a `plugin` flag for targets

If `plugin = true` is specified, then the target is considered a compiler plugin
which implies two separate properties:

* The library must be compiled as a dylib
* The library must be compiled for the host architecture
Update to master
Improve intra-target parallelism

With cross compilation soon on the horizon, it may be required to build a
library for both the host and target architectures. These two copies can
certainly be built in parallel. Additionally, all binaries produced by a package
can also be built in parallel, but are currently forced to be built
sequentially.

This commit improves this parallelism by allowing each job to create more work
before the package is considered built. Only after all targets have been built
is the new fingerprint written.
Refactor `Job` to its own module
Refactor Context into its own submodule
Refactor fingerprint logic out of cargo_rustc
Refactor the parallel job queue to its own module
Add some simple tests for cross compilation
Use command.env_set_all() instead of command.env()

Fixes build after
https://github.com/rust-lang/rust/pull/15353