Pass all formats via --extern for libs

While we support the `crate_type` key in the manifest, we need to pass through
all crate types to the `--extern` flag.

Closes #177
Add a `cargo run` command

This currently only supports executing the `src/main.rs` convention, no other.

Close #149
Add an installation script to the repo

This updates the `make install` target and adds a new `make dist` target which
will prepare a distributable tarball with an install script. All work is based
off the equivalent rust nightly tarball and nightly installation scripts.

Closes #159
Closes #184
auto merge of #189 : alexcrichton/cargo/all-crate-types, r=wycats

While we support the `crate_type` key in the manifest, we need to pass through
all crate types to the `--extern` flag.

Closes #177
auto merge of #190 : alexcrichton/cargo/cargo-run, r=wycats

This currently only supports executing the `src/main.rs` convention, no other.

Close #149
auto merge of #195 : alexcrichton/cargo/install, r=wycats

This updates the `make install` target and adds a new `make dist` target which
will prepare a distributable tarball with an install script. All work is based
off the equivalent rust nightly tarball and nightly installation scripts.

Closes #159
Closes #184
Allow tables in configuration
Allow configuratin ar/ld for rustc

This adds a new .cargo/config option which allows configuring the ar and linker
tools that rustc invokes. This should aid in any cross-compilation attempts.
auto merge of #196 : alexcrichton/cargo/linker-and-ar, r=wycats
Attempt to fix the windows dist bot
auto merge of #197 : alexcrichton/cargo/fix-windows-dist, r=wycats

The executables all have an `.exe` suffix which needs to be dealt with when moving files around.
Remove accidental debugging print
Re-attempt to fix the nightly windows installer
auto merge of #198 : rust-lang/cargo/another-nightly-fix, r=wycats

I actually verified it this time to make sure it passes!