Add rusti/rustpkg to check-lite

Ironically also disable rusti tests for now, but mainly because they're awaiting
LLVM upgrades before proceeding
vec: make vec_reserve_shared_actual private
add a temporary vector_exchange_malloc lang item
remove headers from exchange allocations
auto merge of #7605 : thestinger/rust/vec, r=Aatch

This is work continued from the now landed #7495 and #7521 pulls.

Removing the headers from unique vectors is another project, so I've separated the allocator.
auto merge of #7568 : alexcrichton/rust/check-lite, r=huonw

A lot of cross-platform issues stem from rusti/rustpkg, so include these two test suites in the 'check-lite' target which is run on the cross-compile bots. It shouldn't be much of a performance hit because these suites are pretty fast to run.

Hopefully this will make snapshot/tarball creation easier in the future.
Update existing tests to account for stricter, more correct handling of irrefutable patterns
Add new tests for irrefutable patterns used in various tricky ways
update ptr intrinsics and rewrite vec routines to be more correct.

In particular, it is not valid to go around passing uninitialized or zero'd
memory as arguments. Rust should generally be free to assume that the arguments
it gets are valid input values, but the output of intrinsics::uninit() and
intrinsics::init() are not (e.g., an @T is just null, leading to an error
if we should try to increment the ref count).
Patch up some code that was using irrefutable patterns incorrectly.
syntax: Patch up code that was using irrefutable patterns incorrectly
extra: Patch up code that was using irrefutable patterns incorrectly.
Make all allocas named so we can see where they originate
in the generated LLVM code.
Update trans to use type to decide when to move, not the moves table (simpler
for cases where it's hard to decide what id to use for the lookup); modify
irrefutable bindings code to move or copy depending on the type, rather than
threading through a flag. Also updates how local variables and arguments are
registered. These changes were hard to isolate.
Modify borrow checker to visit irrefutable patterns that appear in
let and function arguments; modify type checker to store type
information for all patterns and handles some missing cases.
Miscellaneous fixes and cleanup
This assert does not necessarily hold; sometimes we temporarily increase ref-count
Address nits by @catamorphism
Patch up some new errors from rustpkg
Fix pretty printer, which was ignoring `ref` in irrefutable patterns