Sort most attributes alphabetically
guide-runtime.md: remove redundant verb
guide-testing.md: add auxiliary verb
guide-unsafe.md: fix noun
Replace all references to "Win32" with "Windows".

For historical reasons, "Win32" has been used in Rust codebase to mean "Windows OS in general".
This is confusing, especially now, that Rust supports Win64 builds.

[breaking-change]
Replace #[cfg(target_os = "win32")] with #[cfg(target_os = "windows")]
Minor changes to `rust.md`, and `guide-ffi.md`.

  * `rust.md`: whanges for consistency

  * `guide-ffi.md`: wrapped inline code
Replace "ignore-win32" in tests with "ignore-windows"
~ -> Box in the manual

Fixes #16439
guide-unsafe.md: fix wording

Following a suggestion by Huon Wilson.
libcore: rename private cmp macros

eq_impl! => partial_eq_impl!
totaleq_impl! => eq_impl!
ord_impl! => partial_ord_impl!
totalord_impl! => ord_impl!
quote_expr macro: embed Ident using special encoding that preserves hygiene.

This adds support to `quote_expr!` and friends for round-trip hygienic
preservation of Ident.

Here are the pieces of the puzzle:

* adding a method for encoding Ident for re-reading into token tree.

* Support for reading such encoded Idents in the lexer.  Note that one
  must peek ahead for MOD_SEP after scan_embedded_hygienic_ident.

* To ensure that encoded Idents are only read when we are in the midst
  of expanding a `quote_expr` or similar, added a
  `read_embedded_ident` flag on `StringReader`.

* pprust support for encoding Ident's as (uint,uint) pairs (for hygiene).
rustc lexer: regression tests for embedded Idents.

I chose to make two of them because I wanted something close to an
"end-to-end" test (*), but at the same time I wanted a test that
would run on Windows (**).

(*) The run-make test serves as the end-to-end: It constructs an input
that is trying to subvert the hack and we are going to check that it
fails in the attempt).

(**) The compile-fail-fulldeps test serves as a more narrow test that
will be tested on all platforms.  It also attempts to subvert the
hack, testing that when you use `new_parser_from_tts`, the resulting
parser does not support reading embedded Idents.
std: Rename various slice traits for consistency

ImmutableVector -> ImmutableSlice
ImmutableEqVector -> ImmutableEqSlice
ImmutableOrdVector -> ImmutableOrdSlice
MutableVector -> MutableSlice
MutableVectorAllocating -> MutableSliceAllocating
MutableCloneableVector -> MutableCloneableSlice
MutableOrdVector -> MutableOrdSlice

These are all in the prelude so most code will not break.

[breaking-change]
std: Rename slice::Vector to Slice

This required some contortions because importing both raw::Slice
and slice::Slice makes rustc crash.

Since `Slice` is in the prelude, this renaming is unlikely to
casue breakage.

[breaking-change]
core: Rename ImmutableSlice::unsafe_ref to unsafe_get

Deprecate the previous.
core: Deprecate ImmutableSlice::tailn and initn

These are equivalent to slice_from and slice_to.
core: Rename MutableCloneableSlice::copy_from to clone_from_slice

Deprecate the previous.
collections: Deprecate Vec::tailn. Same as slice_from
core: Rename ImmutableEqSlice to ImmutablePartialEqSlice

This is in the prelude and won't break much code.

[breaking-change]