Revert libcore: unify `gen_<type>` methods on `rand::RngUtil` into the generic `gen`.

This reverts 4a24f10ac6f155699f086051ba6a728d9afb5ca6
Revert "libcore: remove unnecessary deref"

This reverts commit 9860fe10a19cc4997e58861df905f8dbe4de3c5b.
auto merge of #6067 : catamorphism/rust/revert, r=catamorphism

See #6061. Reverting these commits fixes it; later we'll isolate the problem.
librustc: Remove `ptr::addr_of`.
librustc: Implement `reinterpret_cast` in terms of `transmute`.
librustc: Rename `reinterpret_cast` to `transmute_copy` and remove the intrinsic
librustc: Remove the legacy mode in the type visitor intrinsic.
libfuzzer: De-mode the fuzzer.
test: Remove #[legacy_modes] from the test suite.
librustc: Make `&fn` by-copy by default and remove the mode from `frame_address`.
librustc: Remove the concept of modes from the compiler.

This commit does not remove `ty::arg`, although that should be
possible to do now.
test: Fix tests.
librustc: Change labels to use the lifetime notation `'`.
auto merge of #6084 : pcwalton/rust/label-lifetime, r=graydon

r? @graydon