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.
Instruct event loops to ignore SIGPIPE when constructed.

libuv does not always catch SIGPIPE.
Working homing UDP socket prototype.
Homed UDP sockets
Make IO thread-safe.

Each IO handle has a home event loop, which created it.
When a task wants to use an IO handle, it must first make sure it is on that home event loop.
It uses the scheduler handle in the IO handle to send itself there before starting the IO action.
Once the IO action completes, the task restores its previous home state.
If it is an AnySched task, then it will be executed on the new scheduler.
If it has a normal home, then it will return there before executing any more code after the IO action.
doc: add condition tutorial
auto merge of #8500 : graydon/rust/2013-08-13-self-rollup, r=thestinger

close #8424 r=brson
close #8173 r=brson
close #8209 r=strcat
regenerate configure
jemalloc: use $(AR), not `ar`