Add `lto` option to profiles.

Closes #759.
Fix panic with plugins and build commands

This fixes a bug in cargo where target executables and libraries would be linked
to plugin native dependencies (not wanted!).

Closes #885
Tighten up the example for a build script
Merge branch 'lto' of https://github.com/BurntSushi/cargo into BurntSushi-lto
Polish off the LTO branch
Directly use python’s urllib instead of curl in etc/dl-snapshot.py
auto merge of #899 : linkmauve/cargo/master, r=alexcrichton
One does not simply `make` Cargo

README fix with correct build instructions for building from source.
auto merge of #900 : steveklabnik/cargo/one_does_not_simply_make_cargo, r=alexcrichton

README fix with correct build instructions for building from source.
auto merge of #894 : alexcrichton/cargo/issue-888, r=brson
auto merge of #893 : alexcrichton/cargo/issue-885, r=brson

This fixes a bug in cargo where target executables and libraries would be linked
to plugin native dependencies (not wanted!).

Closes #885
auto merge of #895 : alexcrichton/cargo/BurntSushi-lto, r=brson

Closes #759, continuation of #790.
Add zsh completion for publish command
auto merge of #906 : eerden/cargo/zsh-completion, r=alexcrichton
Be sure to include OUT_DIR for doc tests
Update the FAQ and some documentation styles

Closes rust-lang/crates.io#21
Closes rust-lang/crates.io#29
Closes #882
auto merge of #897 : alexcrichton/cargo/issue-879, r=brson

Closes #879
auto merge of #901 : alexcrichton/cargo/update-faq, r=brson

Closes rust-lang/crates.io#21
Closes rust-lang/crates.io#29
Closes #882
Warn about missing license/description in `cargo package`.

It's very bad practice to not have a license in a
published (theoretically) open-source package, since the default
position is all-rights-reserved. Hence, cargo will now warn if this
metadata field is missing from the manifest when creating a package.

Similarly, a lack of description makes using crates.io less nice, since
there's no indication of what a package does other than the name (and
possibly documentation etc. links, but these are often missing too).

These metadata fields are not immediately obvious so `cargo` can be a
little intelligent and provide some hints that they exist.

Closes #902.
auto merge of #903 : huonw/cargo/metadata-warning, r=alexcrichton

It's very bad practice to not have a license in a
published (theoretically) open-source package, since the default
position is all-rights-reserved. Hence, cargo will now warn if this
metadata field is missing from the manifest when creating a package.

Similarly, a lack of description makes using crates.io less nice, since
there's no indication of what a package does other than the name (and
possibly documentation etc. links, but these are often missing too).

These metadata fields are not immediately obvious so `cargo` can be a
little intelligent and provide some hints that they exist.

Closes #902.