rt: get rid of rust_fn and replace with fn_env_pair plus a little cleanup.
rt: take into account alignment for debug_opaque. Closes #2667
rt: Fix alignment in debug_opaque
update tutorial and manual to use new `impl Trait for Type` syntax
libcore: Move the numeric operations out of Num. r=brson

Sadly I could not use trait inheritance due to a type parameter substitution
bug.
auto merge of #4910 : pcwalton/rust/num-simplification, r=pcwalton

Sadly I could not use trait inheritance due to a type parameter substitution
bug.

r? @brson
auto merge of #4915 : luqmana/rust/rt-cleanup, r=pcwalton

Closes #1190.

Also, got rid of `rust_ptr_eq` since it isn't used any as well the `RUST_REFCOUNTED` macros.

Fixes #2667: alignment & wrong structure.
auto merge of #4925 : cpeterso/rust/docs-impl-trait-for-type, r=pcwalton

Replace `impl Type: Trait` with `impl Trait for Type` throughout tutorial and manual.
started work on enriching idents
Cleanup, commenting, trivial renaming
working on adding syntax contexts to identifiers
commenting
more info on overly deep expansion