auto merge of #7586 : g5pw/rust/master, r=cmr

This updates the script in src/etc/local_stage0.sh to copy the correct libraries
to stage0.
Fix a warning when generating tests
Add rusti/rustpkg to check-lite

Ironically also disable rusti tests for now, but mainly because they're awaiting
LLVM upgrades before proceeding
auto merge of #7591 : alexcrichton/rust/fix-warnings, r=huonw

Closes #7589
auto merge of #7497 : alexcrichton/rust/issue-7394, r=huonw
libc: fix MAP_ANON value on linux
libc: add _SC_* consts for non-mips linux too

They was previously missing
libc: VirtualAlloc and FileMapping bindings
libc: add errno values
vec: make vec_reserve_shared_actual private
add a temporary vector_exchange_malloc lang item
Merge pull request #7595 from thestinger/iterator

remove some method resolve workarounds
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.
Avoid unused allocas for immediate return values

There's no need to allocate a return slot for anykind of immediate
return value, not just not for nils. Also, when the return value is
ignored, we only have to copy it to a temporary alloca if it's actually
required to call drop_ty on it.
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.
Improve handling of immediate return values

We currently still handle immediate return values a lot like
non-immediate ones. We provide a slot for them and store them into
memory, often just to immediately load them again. To improve this
situation, trans_call_inner has to return a Result which contains the
immediate return value.

Also, it also needs to accept "No destination" in addition to just
SaveIn and Ignore. Since "No destination" isn't something that fits
well into the Dest type, I've chosen to simply use Option<Dest>
instead, paired with an assertion that checks that "None" is only
allowed for immediate return values.
Updated rustpkg man page to match 0.7
auto merge of #7645 : dotdash/rust/immediate_retvals, r=cmr

There are lots of unneeded allocas and Store/Load cycles for calls with
immediate return values. This is a first step towards removing that, allowing
immediate return values to be directly returned from trans_call_inner and
trans_lang_call (for now), instead of always stuffing them into an alloca.

For now, only a few things take advantage of the new behaviour, but this
already saves 16k allocas and 43k lines in total in the unoptimized IR
for librustc. Running "make check" under time shows that CPU time for
the unoptimized test suite is reduced by about 7%.
 Replaces the free-standing functions in f32, &c.

The free-standing functions in f32, f64, i8, i16, i32, i64, u8, u16,
u32, u64, float, int, and uint are replaced with generic functions in
num instead.

If you were previously using any of those functions, just replace them
with the corresponding function with the same name in num.

Note: If you were using a function that corresponds to an operator, use
the operator instead.