rustc: Set the exceeding_bitshifts lint to Allow

There's currently a bug in it which fires erroneously on cross compiles,
preventing new nightlies from being generated. This can be reset back to Deny
once it's been fixed.

cc #18587
auto merge of #18589 : alexcrichton/rust/issue-18587-warn, r=jakub-

There's currently a bug in it which fires erroneously on cross compiles,
preventing new nightlies from being generated. This can be reset back to Deny
once it's been fixed.

cc #18587
Repair various cases where values of distinct types were being operated
upon (e.g., `&int` added to `int`).
Add impls of the comparison operators for fixed-length arrays of lengths 0...32 and repair various cases where slices and fixed-length arrays were being compared.
Implement new operator dispatch semantics.

Key points are:
1. `a + b` maps directly to `Add<A,B>`, where `A` and `B` are the types of `a` and `b`.
2. Indexing and slicing autoderefs consistently.
Update the guide examples and try not to leave user hanging as to what
this `&x` sigil is all about.
Remove incorrect doc annotation, mark experimental since we haven't discussed in an API meeting