Remove references to obsolete `do` keyword

Also add the new `proc` keyword to the documentation.
librustc: Improve error message for incompatible trait method signatures.
Make the fields of semver::Version public again.
auto merge of #13332 : mbrubeck/rust/doc-edit, r=huonw

Also add the new `proc` keyword to the documentation.
auto merge of #13333 : Ryman/rust/improve_incompatible_type_error, r=alexcrichton

This can be a frustrating error message, ideally we should print the signature mismatch, but hinting that it's a trait incompatibility helps tracking root cause. Also beefed up the testcases for this.

Ideally we would print the signature mismatch in the error helper?
auto merge of #13339 : mozilla-servo/rust/semver-pub, r=cmr
syntax: add a custom owned smart pointer in ptr::P.
syntax: ast: replace @T with P<T>.
syntax: fold: use move semantics for efficient folding.
syntax: ast_map: use raw pointers into the AST.
syntax: fix fallout from using ptr::P.
syntax: tests: fix fallout from using ptr::P.
rustc: fix fallout from using ptr::P.
rustdoc: fix fallout from using ptr::P.
syntax: implement in-place folding of P<T> and Vec<T>.