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"
```