make the memcpy/memmove intrinsics higher-level

This allows them to make use of the type's alignment, instead of being
pessimistic and assuming it is only 1.
C++0x -> C++11
add memset32/memset64
use uninit for cast::transmute_copy
add an align parameter to call_memcpy
make transmute_copy use memcpy, and inline it
inline bump_box_refcount
fix casts on 32-bit
Issue #6419: Better clang version detection for Apple Clang

Apple Clang uses different version numbering than "regular" clang, but
it also provides the "regular" version it's based on. Update the sed
pattern to pull out this "regular" version number instead of the Apple
version number.
librustc: Allow intra-crate start functions, for runtimeless operation.
rustc: Switch ty::node_type_table to smallintmap, cut 400mb memory use off a librustc build.

Smallintmap was being populated with sparse keys during ast deserialization.