core: Stabliize core::cmp

Mark Eq, PartialEq, Ord, PartialOrd as unstable: they will change
slightly after trait reform. Equiv as experimental: better solutions
are desired. min/max stable.
std: Stabilize default

All stable.
alloc: Stabilize rc module.

Weak pointers experimental. Most everything else stable.
std: Stabilize task module.

Most stable. deschedule/failing experimental because of concerns about
naming and desirability.

Adds task::name() to replace deprecated task::with_name().
Fix typo.
Document some trait methods.
Implement FromBase64 for &[u8].

The algorithm was already based on bytes internally.

Also use byte literals instead of casting u8 to char for matching.
Fixed lifetimes on syntax deriving structs, implemented Clone
Correctly stringify! types and paths inside macros

Closes #8709
Implement new mod import sugar

Implements RFC #168.
small typo
auto merge of #15797 : brson/rust/taskstab, r=alexcrichton

Summary:

* alloc::rc module stable
* Rc type stable
* Functions relating to weak references experimental
* core::cmp module stable
* PartialEq/Eq/PartialOrd/Ord unstable because trait reform will make them change again
* Equiv experimental because there may be better sol'ns
* lexical_ordering deprecated because it can be done trivially with the Ord trait
* min/max stable
* std::task module stable
* TaskBuilder::stdout/stderr experimental because we aren't certain we want to configure the environment this way
* try_future experimental because Future is experimental
* try unstable because the error type might change
* deschedule/failing unstable

The major thing I did differently than previously-discussed is that I made `try` experimental: there's been discussion that the error type `Box<Any + Send>` is not sufficient.


Per https://github.com/rust-lang/meeting-minutes/blob/master/Meeting-API-review-2014-07-16.md.
auto merge of #15803 : omp/rust/master, r=alexcrichton

Fix small typo in guide.
auto merge of #15814 : kvark/rust/ast, r=huonw

Makes working with syntax deriving a bit more pleasuring. For instance, once can use local (non-static) strings anywhere inside `TraitDef` now.
auto merge of #15806 : treeman/rust/std-doc, r=alexcrichton

Used `HashMap` and `HashSet` as the base of most examples. Could change it up with different containers, but I don't think it's a big deal.
auto merge of #15805 : Sawyer47/rust/issue-8709, r=alexcrichton

Closes #8709
auto merge of #15808 : jakub-/rust/use-mod, r=alexcrichton

Implements RFC #168.
auto merge of #15810 : SimonSapin/rust/base64-from-bytes, r=alexcrichton

The algorithm was already based on bytes internally.

Also use byte literals instead of casting u8 to char for matching.

[breaking-change] The `InvalidBase64Character` variant of the `FromBase64Error` enum was renamed to `InvalidBase64Byte`, and contains a `u8` instead of a `char`.

r? @alexcrichton
Highlight $(…)* and $foo in Vim.
Fix :syn-include usage of Vim filetype.

Here’s what the Vim manual says in *:syn-include*:

    :sy[ntax] include [@{grouplist-name}] {file-name}

	All syntax items declared in the included file will have the
	"contained" flag added.  In addition, if a group list is
	specified, all top-level syntax items in the included file will
	be added to that list.

We had two rules for `rustModPath`, one `contained` and the other not.
The effect was that the second (now renamed to `rustModPathInUse`) was
being included in the group list, and thus that all identifiers were
being highlighted as `Include`, which is definitely not what we wanted.