auto merge of #8539 : pnkfelix/rust/fsk-visitor-vpar-defaults-step2, r=graydon,nikomatsakis

r? @nikomatsakis

Follow up to #8527 (which was step 1 of 5).  See that for overall description 

Part of #7081
std::str: Use iterators instead of while loops for CharSplitIterator

Embed an iterator in the CharSplitIterator struct, and combine that with
the former bool `only_ascii`; so use an enum instead.
auto merge of #8619 : pnkfelix/rust/fsk-visitor-vpar-defaults-step3, r=nmatsakis

Follow up to #8539 (step 2 of 5).

(See  #8527, which was step 1 of 5, for the full outline.)

Part of #7081.
Rangechange the log message truncation limit.
Make supertrait methods callable on object types.

This requires changes to method search and to codegen. We now emit a
vtable for objects that includes methods from all supertraits.
Closes #4100.

Also, actually populate the cache for vtables, and also key it by type
so that it actually works.
Remove discriminant symbols.

Given that bootstrapping and running the testsuite works without
exporting discriminant values as global constants, I conclude that
they're unused and can be removed.
clean whitespace :/
auto merge of #8459 : thestinger/rust/checked, r=graydon
Don't skip token after @'static

Fixes #8615.
auto merge of #8623 : pnkfelix/rust/fsk-visitor-vpar-defaults-step4, r=nmatsakis

Follow up to #8619 (step 3 of 5).

(See #8527, which was step 1 of 5, for the full outline.)

Part of #7081.
test: un-xfail now working run-pass/foreign-struct.rs, close #2334.
test: add testcase, close #4929 which was already fixed.
Add tests for cross-crate condition handling. Close #5446.
Try to fix mac valgrind bot by disabling thread-heavy activities.
compiletest: do not run tests in sub-threads if on valgrind.
rustpkg: Un-ignore most of the remaining tests

This necessitated some cleanup to how we parse library filenames
when searching for libraries, since rustpkg may now create filenames
that contain '-' characters. Also cleaned up how rustpkg passes the
sysroot to a custom build script.
Fix broken rusti

Commit 0932ab336 accidentally broke rusti by making it parse the binary
name as the input, instead of parsing what the user typed.
rt: make jemalloc header conform to android signature.
Derive Clone for IpAddr and SocketAddr
Do not execute the callback before cleaning up resources.