mk: tests.mk simplify the method to clean arm testing directory
etc: modify adb_run_wrapper.sh to avoid 'expr' unrecognization at some android devices
etc: add TEST_EXEC_ENV for run-pass to adb_run_wrapper.sh
test: adjust some test cases of run-pass for android
std: fix stat struct of android (SEGV error from run-pass/stat.rs on android)
rt: fix jemalloc android cross-compile for mac
Support printf formats in terminfo strings

terminfo parameterized strings supports a limited subset of printf-style
formatting operations, such as %#5.3d.
Cleanup src/librustc/back
syntax::diagnostics: Color the ^~~~ in green for better visibility

Fixes #7164.
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
extra: Add a testcase for #7256.
auto merge of #7128 : yichoi/rust/fix_sometc, r=brson

- Fix stat struct for Android (found by SEGV at run-pass/stat.rs)
- Adjust some test cases to rpass for Android 
- Modify some script to rpass for Android
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.
librustc: Don't allow enum struct variants to shadow structs.
Add test for duplicate definitions of structs and enum struct variants.