rustc: Remove f{32,64} % from the language

This commit removes the compiler support for floating point modulus operations,
as well as from the language. An implementation for this operator is now
required to be provided by libraries.

Floating point modulus is rarely used, doesn't exist in C, and is always lowered
to an fmod library call by LLVM, and LLVM is considering removing support
entirely.

Closes #12278
Refactor ty_vec represent &[T] as &([T])

Refactores all uses of ty_vec and associated things to remove the vstore abstraction (still used for strings, for now). Pointers to vectors are stored as ty_rptr or ty_uniq wrapped around a ty_vec. There are no user-facing changes. Existing behaviour is preserved by special-casing many instances of pointers containing vectors. Hopefully with DST most of these hacks will go away. For now it is useful to leave them hanging around rather than abstracting them into a method or something.

Closes #13554.
serialize: Remove errant println!'s from decode
shootout-fannkuch-redux rewrite

Less bound checking and parallelisation.  Brute speed improvement
is about 15% faster.
Fix spelling mistakes in documentation and code.
auto merge of #13633 : TeXitoi/rust/shootout-fannkuch-redux-rewrite, r=alexcrichton

Less bound checking and parallelisation.  Brute speed improvement
is about 15% faster.

The unsafe block improve the brute speed by about 5%.
auto merge of #13635 : richo/rust/no-output-from-serialize, r=sfackler

As an aside, it seems like a lint for libraries calling println! might be a useful thing?
auto merge of #13640 : jbcrail/rust/spelling-updates, r=alexcrichton
Minor changes in std::mem

Fixed a typo in the documentation of std::mem, and refactored a function to use match instead of if.

Also added a FIXME to the benchmarks at the end of the file stating that they should be moved to another place, because they have nothing to do with `mem` (see https://github.com/mozilla/rust/issues/13642)
auto merge of #13643 : aochagavia/rust/pr-2, r=alexcrichton

Fixed a typo in the documentation of std::mem, and refactored a function to use match instead of if.

Also added a FIXME to the benchmarks at the end of the file stating that they should be moved to another place, because they have nothing to do with `mem` (see https://github.com/mozilla/rust/issues/13642)
auto merge of #13410 : alexcrichton/rust/issue-12278, r=pcwalton

This commit removes the compiler support for floating point modulus operations,
as well as from the language. An implementation for this operator is now
required to be provided by libraries.

Floating point modulus is rarely used, doesn't exist in C, and is always lowered
to an fmod library call by LLVM, and LLVM is considering removing support
entirely.

Closes #12278
auto merge of #13636 : nick29581/rust/ty_vec, r=pcwalton

Refactors all uses of ty_vec and associated things to remove the vstore abstraction (still used for strings, for now). Pointers to vectors are stored as ty_rptr or ty_uniq wrapped around a ty_vec. There are no user-facing changes. Existing behaviour is preserved by special-casing many instances of pointers containing vectors. Hopefully with DST most of these hacks will go away. For now it is useful to leave them hanging around rather than abstracting them into a method or something.

Closes #13554.