Adds conditional byteswapping intrinsics

These intrinsics are synthesized, so maybe they should be in another
file. But since they are just a single line of code each, based on the
bswap intrinsics and aren't really intended for public consumption (they should be exposed as a
single function / trait) I thought they would fit here.
Classify newtype structs S(T) as immediates if T is an immediate
Fix dereference of temporary immediate newtype structs
Better error messages in report_use_of_moved_value; close #7286
Fix filenames of some compile-fail tests.
Add a run-pass test for recursive copyable stack closures.
Compare values in TreeMap's 'lt' function

Closes #5194
Small documentation changes

I'm leaving the Sized kind undocumented since it isn't fully implemented
yet.
Completely disable rusti on 32-bit hosts
GC static_size_of_enum, which was unused
Fixed documentation for finalize->drop change
Removing the rename warning

Now that the finalize->drop rename has happened, this hopefully
shouldn't end up changing again.
Added support for struct-like enum variants in middle::ty::enum_variants().
vec: Fix size_hint() of reverse iterators

Fixes #7558
Fix make_mono_id to take into account self types. Closes #7536.
Make privacy checking on default methods for cross crate structs not fail. Closes #7481.

It is unclear to me that the way method call privacy checking is done
makes any sense, though. It is only performed if the type is a
struct...
Make the error messages that result from referencing
nonexistent traits consistent, and add a test.
auto merge of #7534 : bblum/rust/soundness-messages, r=catamorphism
Address @catamorphism's error message grammar nit.
auto merge of #7542 : alexcrichton/rust/patch-rusti, r=cmr

Doesn't disable it completely, also removes the bogus `rc` file.