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.
Compare values in TreeMap's 'lt' function

Closes #5194
GC static_size_of_enum, which was unused
Added support for struct-like enum variants in middle::ty::enum_variants().
Make the error messages that result from referencing
nonexistent traits consistent, and add a test.
Address @catamorphism's error message grammar nit.
Use #[allow(warnings)] in rusti instead of explicitly listing warnings
Removed drop from the keyword list in the docs
Bring compiletest/rustpkg/driver up to date on std vs core
auto merge of #7530 : alexcrichton/rust/issue-5194, r=thestinger

Closes #5194
Remove visit_struct_method
Do not rely on newtype enum dereference
vim: Highlight 0i as number
Change spans for sugary call expressions
Fix fallout from span change
Change signature of Iterator.size_hint

Remove the Option wrapper around the lower bound. None is semantically
the same as Size(0), so there's no point in having a distinction.
Implement .size_hint() on the remaining Iterator adaptors

Every iterator adaptor now has an implementation of .size_hint() that
makes sense, except for when the default of (0, None) is correct.
auto merge of #7554 : jld/rust/rm-ssoe, r=catamorphism
deque: Fix grow condition in add_front

Without this, it will hit the assert in fn grow after 32 consecutive
add_front.
deque: Add tests and bench tests

Add a test that excercises deque growing.

Add bench tests for grow, new, add_back, add_front, to expose how slow
these functions are.