Enable execution without cargo in PATH

This allows usage of cargo without all the executables in your PATH, you only
need to be able to reach the first one.
README uses "its" instead of "it's"
Update hammer.rs to be compatible with the current rust master
Add support for non-transitive dependencies

Development and test dependencies should not be transitively pulled in.
For example, if I use rust-curl, and it happens to use hamcrest for
testing, that does not mean I depend on hamcrest.
Added [dev-dependencies] sections to Cargo.toml

If you put a dependency in [dev-dependencies], it will only be
used when building (or testing) your packages, not other packages that
depend on it.
Fix up dev-dependencies
auto merge of #113 : rust-lang/cargo/dev-deps, r=alexcrichton

Development dependencies are included when building or testing the current package, but not packages that depend on it:

```toml
[dev-dependencies.hamcrest]

git = "https://github.com/carllerche/hamcrest-rust.git"
```
auto merge of #106 : alexcrichton/cargo/no-path, r=wycats

This allows usage of cargo without all the executables in your PATH, you only
need to be able to reach the first one.
auto merge of #110 : bcobb/cargo/patch-1, r=alexcrichton

Just a small grammar change :smile:
Fix missing space typo in single source error
auto merge of #116 : Indiv0/cargo/typofix, r=alexcrichton

Currently, the "single source" error appears like this, with missing whitespace:

    lib/game-of-life $ cargo build --verbose
    An unknown error occurred

    Caused by:
      At the moment, Cargo only supports asingle source for a particular package name (piston).

This fixes the typo.