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
rustuv: Fix a tcp connect timeout bug on windows

When a uv_tcp_t is closed in libuv, it will still invoke the pending connect_cb,
and I thought that it would always call it with ECANCELED, but it turns out that
sometimes we'll get a different error code instead. Handle this case by checking
to see if the request's data is NULL and bail out if so (the timeout expired).
remove meaningless sentence and update copyright.
fix copyright message based on `make check`
fix and improve shootout-chameneos-redux

* fix official shootout test (spacing)
* use libgreen to improve performances
* simplify and modernize code
* remove warnings
Update the "Additional tutorials" link
str: Inline `only_ascii` in string iterators.

Was killing performance of selector matching in Servo.
Fix ICE when reporting closure and proc mismatch

Closes #13599
Specialize kinds inference for `Unsafe<T>`

This patch adds a special rule for `Unsafe<T>` and makes it `Share`
regardless of whether T is `Share`.

[breaking-change]

Closes #13125
auto merge of #13583 : FlaPer87/rust/special-unsafe, r=nikomatsakis

This patch adds a special rule for `Unsafe<T>` and makes it `Share`
regardless of whether T is `Share`.

[breaking-change]

Closes #13125

cc @nikomatsakis
Fixed typo in tutorial

Replaced "len" by "length", to match the given code example.
auto merge of #13657 : edwardw/rust/ppaux-ice, r=alexcrichton

Closes #13599
auto merge of #13638 : alexcrichton/rust/fix-windows-tcp-timeout-bug, r=brson

When a uv_tcp_t is closed in libuv, it will still invoke the pending connect_cb,
and I thought that it would always call it with ECANCELED, but it turns out that
sometimes we'll get a different error code instead. Handle this case by checking
to see if the request's data is NULL and bail out if so (the timeout expired).
auto merge of #13651 : ryantm/rust/master, r=brson
auto merge of #13667 : TeXitoi/rust/shootout-chameneos-redux-fix, r=alexcrichton

* fix official shootout test (spacing)
* use libgreen to improve performances
* simplify and modernize code
* remove warnings
auto merge of #13670 : eddyb/rust/more-de-at, r=pcwalton
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.