Forbid the Sized bound on unsized types

closes #16800
num: implement `Hash` for `Complex` and `Ratio`
complex: use `///...` instead of `/**...*/` for comment
gensym each test re-export module individually

Fixes #16597
Address review comments, add tests
&mut [T] now implements Collection. Fixes #16896
Rename `RawPtr::to_option()` to `RawPtr::as_ref()`

As outlined in

  https://aturon.github.io/style/naming/conversions.html

`to_` functions names should only be used for expensive operations.
Thus `to_option` is better named `as_option`. Also, putting type
names into method names is considered bad style; what the user is
really trying to get is a reference. This `as_ref` is even better.

Also, we are missing a mutable version of this method. So add a
new trait `RawMutPtr` with a corresponding `as_mut` methode.

Finally, there is a bug in the signature of `to_option` which has
been around since lifetime elision: originally the returned reference
had 'static lifetime, but since the elision changes this become
the lifetime of the raw pointer (which does not make sense, since
the pointer lifetime and referent lifetime are unrelated). Fix
the bug to return a reference with a fresh lifetime (which will
be inferred from the calling context).

[breaking-change]
Second approach - using type contents
test: Tweak tcp-accept-stress one last time

The tcp-accept-stress, despite the previous modifications, is still deadlocking
on the osx buildbots. When building/testing/running repeatedly locally, it was
discovered that the test would often fail with TcpStream::connect returning the
error `address not available`.

This test opens up quite a large number of sockets, and it looks like by default
osx isn't the speediest at recycling those sockets for further use.

The test has been modified (and verified) to not deadlock in this error case,
and the test is not just officially ignored on OSX (with no FIXME). I believe
that we'll get good coverage of the relevant code on the linux builders, so this
isn't so much of a loss.

At the same time I turned down the stress parameters to hopefully lighten the
socket load on other platforms.
Fix pointer types in the manual.
auto merge of #16897 : japaric/rust/mut-slice-collection, r=alexcrichton
DST raw pointers - *-pointers are fat pointers
doc: Fix spelling errors.
ignore-pretty the test
Fix ICE with static DST coercion

Closes #16911
auto merge of #16924 : steveklabnik/rust/manual_pointer_fix, r=pcwalton

This was brought up in IRC: https://botbot.me/mozilla/rust/2014-08-30/?msg=20733803&page=26
Reviewer changes
auto merge of #16805 : nick29581/rust/dst-raw, r=nikomatsakis

r? @pnkfelix or @nikomatsakis
auto merge of #16925 : jbcrail/rust/doc-spelling-errors, r=alexcrichton

I fixed spelling mistakes in the documentation.
Prevent failure when using fail! with invalid utf8.

Closes #16877.