Add comments with type annotations.

This will hopefully help people with their first steps in Rust.

Fixes #16143.
Use rust-installer for installation

This is just a refactoring of the current installer so that Rust and Cargo
use the same codebase.

cc #16456
serialize: Avoid stray nul characters when auto-serializing char.

Fixes #19719.
Add coercions from *mut to *const and from &mut to *const.
Add support for equality constraints on associated types
Mostly non-behaviour-changing changes (style, etc.)
Reviewer comments
gedit language spec: add new-style Unicode escapes
auto merge of #19391 : nick29581/rust/assoc-eq, r=nikomatsakis

r? @nikomatsakis 

cc @aturon (I think you were interested in this for some library stuff)

closes #18432
auto merge of #19569 : murphm8/rust/ring_buf_insert, r=Gankro

This is a first pass at insert on RingBuf. I tried to keep it as simple as possible. I'm not sure of the performance implications of doing one copy vs. copying multiple times but moving a smaller amount of memory. I chose to stick with one copy, even if the amount of memory I have to move is larger.

I believe this is part of #18424 

@Gankro mentioned this was missing.
Update vim syntax highlighting for ExactSizeIterator
libc::c_char is not necessarily i8
auto merge of #19664 : tbu-/rust/pr_oibit2_fix, r=Gankro

These probably happened during the merge of the commit that made `Copy` opt-in.

Also, convert the last occurence of `/**` to `///` in `src/libstd/num/strconv.rs`
metadata: Encode attributes for const items

Fix #19773

Together with #19774 (which this is rebased on):

Fix #18156, fix #19722, fix #19185
Start restructuring to support generalized where clauses etc.
Thread a id to `Obligation`
Move the list of region obligations into the fulfillment context.
Introduce predicates but don't use them.
Write code for registering region obligations (but don't use it yet).
Switch to using predicates to drive checking. Correct various tests --
in most cases, just the error message changed, but in some cases we
are reporting new errors that OUGHT to have been reported before but
we're overlooked (mostly involving the `'static` bound on `Send`).