Merge the Round trait into the Float trait

Move the rounding functions into the `std::num::Float` trait and then remove `std::num::Round`.

This continues the flattening of the numeric traits tracked in #10387. The aim is to make `std::num` very simple and tied to the built in types, leaving the definition of more complex numeric towers to third-party libraries.

[breaking-change]
Have floating point functions take their parameters by value.

Make all of the methods in `std::num::Float` take `self` and their other parameters by value.

Some of the `Float` methods took their parameters by value, and others took them by reference. This standardises them to one convention. The `Float` trait is intended for the built in IEEE 754 numbers only so we don't have to worry about the trait serving types of larger sizes.

[breaking-change]
Fix formatting in float implementations
Reorder Float methods in trait definition and make consistent in impls
Update the "Additional tutorials" link
str: Inline `only_ascii` in string iterators.

Was killing performance of selector matching in Servo.
Fixed typo in tutorial

Replaced "len" by "length", to match the given code example.
Implement Show for &mut [T]
native: Unlink unix socket paths on drop

This prevents unix sockets from remaining on the system all over the place, and
more closely mirrors the behavior of libuv and windows pipes.
auto merge of #13673 : bmac/rust/utorial-fix, r=alexcrichton

This pr updates the "Additional tutorials" link in the scope section to match the "What next?" link in the table of contents.
auto merge of #13674 : pcwalton/rust/more-str-inlines, r=alexcrichton

Was killing performance of selector matching in Servo.

r? @alexcrichton (or anyone)
There are no 64-bit Windows snapshots yet, so we'll use 32-bit ones instead.
Upgrade compiler-rt
add volatile copy/copy_nonoverlapping/set

This exposes volatile versions of the memset/memmove/memcpy intrinsics.

The volatile parameter must be constant, so this can't simply be a
parameter to our intrinsics.
auto merge of #13683 : aochagavia/rust/pr, r=alexcrichton

Replaced "len" by "length", to match the given code example.
Add a span to ast::TyParam
Support unsized types with the `type` keyword
Check for unsized types in enums.

And allow the last field of a struct or variant to be unsized.
Added examples for parse_bytes(buf: &[u8], radix: uint) in int_macros.rs and uint_macros.rs
add support for quadruple precision floating point

This currently requires linking against a library like libquadmath (or
libgcc), because compiler-rt barely has any support for this and most
hardware does not yet have 128-bit precision floating point. For this
reason, it's currently hidden behind a feature gate.

When compiler-rt is updated to trunk, some tests can be added for
constant evaluation since there will be support for the comparison
operators.

Closes #13381