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).
I think this is an over-simplification - a crate might rely on a feature which is gated for more than one version, so even though the minimum version is now on beta (say), the crate still needs nightly for access to the feature gated feature. This doesn't affect the UI, but means the implementation must track features not just versions for calculating the channel. (I guess the permanent nightly badge solves this, but if this is the only reason for having it, it seems overly restrictive).