Release channels take 2

This RFC describes changes to the Rust release process, primarily the division of Rust's time-based releases into 'release channels', following the 'release train' model used by e.g. Firefox and Chrome; as well as 'feature staging', which enables the continued development of experimental language features and libraries APIs while providing strong stability guarantees in stable releases.

This revision includes a significant simplification by merging stability attributes with feature gates, which further enables some additional useful features within Cargo related to version detection. One big implication of this change is that stability attributes are no longer suitable for use outside of std (if such a feature is desirable it is intended to be solved by Cargo).
> For these uses, I think it's best to be able to annotate the source code directly (especially because that's also where the rustdoc documentation is). Listing unstable features in the Cargo manifest is useful, but I think that it solves a different set of problems. (Unless I'm still totally misunderstanding your suggestion.)

Concretely speaking, I'm thinking of:

```toml
# Cargo.toml
[features.new-api]
experimental = "true"
```

```rust
// src/lib.rs
#[cfg(feature = "new-api")]
pub fn my_new_api() { /* ... */ }
```

In this case you still annotate features in source code (via `cfg` attributes), and then the manifest allows Cargo to know what to compile and what's available for dependencies.

> Note that this means that package versions that have to have a mix of newly-stable and unstable features (e.g. 0.y.z packages trying to get early adopters to try things out) really have to live mostly outside the crates.io ecosystem, which means that they may not have so much of an advantage over the standard library.

This largely seems ok to me as it's precisely the design of the standard library in a sense. Having to go out of your way a bit to get access to experimental features which can break rapidly seems not the end of the world to me!