Meta-packages
Fix fetch() on git < 1.7.3

Apparently these versions of git are broken for `git fetch $url`, so we have to
resort to `git fetch origin` and then just pray that it hasn't changed in the
meantime.
auto merge of #101 : alexcrichton/cargo/fix-git-1.7, r=wycats

Apparently these versions of git are broken for `git fetch $url`, so we have to
resort to `git fetch origin` and then just pray that it hasn't changed in the
meantime.
Improvements based on the review
auto merge of #100 : rust-lang/cargo/meta-packages, r=alexcrichton

This allows a single git repository to have multiple packages contained inside.

* Cargo will look for `Cargo.toml`s located anywhere inside the project.
* Cargo will stop searching once it reaches a submodule, to avoid accidentally exporting someone else's packages. It is still possible to explicitly depend on packages from a submodule using the `path=` syntax on dependencies.
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.