Use "0.0.1" instead of "0.1.0" for version numbers
Decode directly into a semver::Version

This generates errors for malformed semver versions during the decoding process
rather than later in the convertion to a package id. This also cuts down on the
large number of derived traits to only what's necessary.

Closes #54
Add a --no-run option to `cargo test`

This allows tests to be built, but not run.
Fix `cargo run` for renamed bin targets
auto merge of #419 : alexcrichton/cargo/issue-406, r=brson

This allows tests to be built, but not run.

Closes #406
auto merge of #421 : alexcrichton/cargo/issue-418, r=wycats
Remove all subcommand executables

This commit removes all distributed executables except for `cargo`. All
builtin subcommands are implemented through library calls, and the fallback
methods are retained to maintain extensability through new subcommands.

Closes #393
auto merge of #420 : alexcrichton/cargo/issue-393-2, r=brson

This commit removes all distributed executables except for `cargo`. All
builtin subcommands are implemented through library calls, and the fallback
methods are retained to maintain extensability through new subcommands.

Closes #393
Add a `harness` manifest option

This option is used to disable the --test flag to rustc for a test or benchmark
target in order to signal that the binary already knows how to run the testing
infrastructure.

The test/benchmark is still compiled and run as usual, and the exit code is
expected to reflect the result of the test/benchmark.

Closes #431
Help debug a flaky windows test
auto merge of #435 : alexcrichton/cargo/issue-431, r=brson

This option is used to disable the --test flag to rustc for a test or benchmark
target in order to signal that the binary already knows how to run the testing
infrastructure.

The test/benchmark is still compiled and run as usual, and the exit code is
expected to reflect the result of the test/benchmark.

Closes #431
Implement cargo-package

This command will assemble the current package into a tarball ready for
uploading to the cargo registry. Currently no further verification is done
beyond packaging the local repository into a tarball, but in the future this
could execute other operations such as api stability tools.
auto merge of #423 : alexcrichton/cargo/cargo-package, r=brson

This command will assemble the current package into a tarball ready for
uploading to the cargo registry. Currently no further verification is done
beyond packaging the local repository into a tarball, but in the future this
could execute other operations such as api stability tools.
auto merge of #441 : EduardoBautista/cargo/fix-inconsistencies, r=alexcrichton

The guide appeared to be inconsistent with its use of "0.1.0" and "0.0.1" so I decided to change all version numbers to "0.0.1".
Disable travis on all branches but master
auto merge of #444 : alexcrichton/cargo/issue-54, r=brson

This generates errors for malformed semver versions during the decoding process
rather than later in the convertion to a package id. This also cuts down on the
large number of derived traits to only what's necessary.

Closes #54
Revert "Revert "Use libgit2 for driving git instead of the CLI""

This reverts commit 04440bb035082d4163f2211af447b8d67e077ccb.

Conflicts:
	src/cargo/sources/git/utils.rs
Update git2-rs with mingw support

An upstream PR for libgit2 was applied locally, modified to build, and then
git2-rs was updated to use this small for of libgit2. This adds https support
via winhttp on mingw for windows users.