Implement platform-specific dependencies
Fill `ops::registry::transmit` with the right value
Fix `sources::registry::parse_registry_dependency`
Remove .vimrc, MANIFEST.md, and the DESIGN directory
auto merge of #769 : tomaka/cargo/delete-design, r=alexcrichton
Add `--name` and `--example` to cargo run

This lets us compile and run examples using `cargo run --example NAME`.
Selecting the other binary targets is now done using the `--name` flag.

`cargo run` falls back to the old behaviour (running the only bin target
in the project, failing if there are more) in neither `--name` nor
`--example` are present.

Closes #538
Register new snapshots and update the lockfile format
Add `--name` to `cargo test` and `cargo bench`

You can now run a single test/bench file by passing its name to `cargo
test` or `cargo bench`.
Make help command accept -h and --help
Update curl-rust to handle SSL config for linuxes

Right now the cargo built on the snapshot bot isn't able to talk to the registry
due to failing to validate the SSL certificate. This is likely due to the
certificate path being hardcoded to something that's compatible with CentOS
(which isn't what I'm running locally).

I've modified curl-rust to use openssl-static-sys to probe the system for where
certificates are located and inform handles by default about the found
locations. This is the same strategy that git2-rs uses to inform openssl about
where the certificates are located.
Fix compat with the current rust master
auto merge of #768 : alexcrichton/cargo/ssl-fixes, r=brson

The second commit message has the details, and these are the relevant external commits:

* https://github.com/alexcrichton/openssl-static-sys/commit/2e1c50a7f35ef52ce38dbd405a175b6dccc0ebad
* https://github.com/alexcrichton/curl-rust/commit/1098e4dd3b89b168b412dfeaba033e41796ea794
Be sure to update all packages from a git source

With the recent resolve rewrite, `cargo update -p foo` would only update one
package in a git repository, even if the repository provided many packages.
Cargo does not currently support depending on the same git repository source
with different precise revisions, and this would cause errors down the line
depending on what happened.

This adds a fix to the `resolve_with_previous` method to ensure that any
non-registry sources being updated will not have any locked packages inside them
which would result in an invalid lockfile.
auto merge of #702 : tomassedovic/cargo/run-examples, r=alexcrichton

This lets users run any executable from the `examples` or `bin` directories by
passing its name with `--example` or `--bin` flag.

If neither is specified, we fall back to the old behaviour (running the only bin
target in the project, failing if there are more).

Closes #538
auto merge of #772 : mattyhall/cargo/master, r=alexcrichton

Fixes #762. I'm not sure if I've used the correct style here. Apologies if it is and/or if the way I've fixed this is wrong!
Fix a repeated `cargo test` with examples

The examples output directory was accidentally taken into account twice, and
this removes one source of the output directory confusion.
Check USERNAME for a users's name with `cargo new`

Closes #740
fail -> panic
Update deps with fail => panic

Also fix a few test's assertion messages
auto merge of #779 : alexcrichton/cargo/update-deps, r=alexcrichton