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)
Support printf formats in terminfo strings

terminfo parameterized strings supports a limited subset of printf-style
formatting operations, such as %#5.3d.
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
Get cross crate default methods working.

This fixes the large number of problems that prevented cross crate
methods from ever working. It also fixes a couple lingering bugs with
polymorphic default methods and cleans up some of the code paths.

Closes #4102. Closes #4103.
auto merge of #7161 : kballard/rust/terminfo-parm-format, r=thestinger

Introduce support for terminfo's subset of printf-style formatting on doxXs operations.

r? @thestinger
auto merge of #7203 : msullivan/rust/default-methods, r=graydon

This fixes the large number of problems that prevented cross crate
methods from ever working. It also fixes a couple lingering bugs with
polymorphic default methods and cleans up some of the code paths.

Closes #4102. Closes #4103.

r? nikomatsakis
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