xfail box-related debug-info tests r=snapshot
ignore inherited environment test under valgrind r=snapshot
_Actually_ xfail debuginfo tests
Remove all #[cfg(stage0)]-protected code

New snapshot means this can all go. Also removes places that have
comments that say they are workarounds for stage0 errors.
libstd: cleanup warnings
libsyntax: cleanup warnings
libextra: cleanup warnings
librust: cleanup warnings (except 1)
Update snapshots.txt
Avoid unnecessary scratch datums for by-copy function arguments

Currently, by-copy function arguments are always stored into a scratch
datum, which serves two purposes.  First, it is required to be able to
have a temporary cleanup, in case that the call fails before the callee
actually takes ownership of the value. Second, if the argument is to be
passed by reference, the copy is required, so that the function doesn't
get a reference to the original value.

But in case that the datum does not need a drop glue call and it is
passed by value, there's no need to perform the extra copy.
Avoid pointless allocas for "nil" return values

By using "void" instead of "{}" as the LLVM type for nil, we can avoid
the alloca/store/load sequence for the return value, resulting in less
and simpler IR code.

This reduces compile times by about 10%.