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.
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
Fix requirements in README
auto merge of #786 : alexcrichton/cargo/update, r=alexcrichton
auto merge of #783 : steveklabnik/cargo/require_curl, r=alexcrichton
auto merge of #773 : alexcrichton/cargo/update-all-packages-from-a-git-repo, r=brson

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 #774 : alexcrichton/cargo/issue-740, r=brson

Closes #740
auto merge of #775 : alexcrichton/cargo/issue-771, r=brson

The examples output directory was accidentally taken into account twice, and
this removes one source of the output directory confusion.

Closes #771
updated to work with DSTify Hash commit in rust
Update the curl-rust dependency