rt: Use the correct global change_dir lock
test: Use a test extern in various foreign fn tests
test: Remove a test of the oldsched runtime api
Unify the take glue functions for unique pointer types

These glue function just return void, no point in having a copy for each
type.
Provide a "configure" option to disable LLVM assertions

Builds are considerably faster without assertions, so when working on
e.g. libstd, which doesn't directly interact with LLVM, one might want
to disable them.
Reduce code bloat from assert!()

Assertions without a message get a generated message that consists of a
prefix plus the stringified expression that is being asserted. That
prefix is currently a unique string, while a static string would be
sufficient and needs less code.
Revert atomicrmw {max, min, umax, umin}
auto merge of #8143 : brson/rust/change-dir-lock, r=luqmana
auto merge of #8145 : brson/rust/rttestfixes, r=pcwalton

Two commits here that fix test case dependencies on the old scheduler.
auto merge of #8146 : dotdash/rust/simple_take_glue, r=thestinger

These glue function just return void, no point in having a copy for each
type.
auto merge of #8147 : dotdash/rust/assertion_option, r=pcwalton

Builds are considerably faster without assertions, so when working on
e.g. libstd, which doesn't directly interact with LLVM, one might want
to disable them.
auto merge of #8150 : dotdash/rust/assert_bloat, r=huonw

Assertions without a message get a generated message that consists of a
prefix plus the stringified expression that is being asserted. That
prefix is currently a unique string, while a static string would be
sufficient and needs less code.
auto merge of #8151 : sanxiyn/rust/atomicrmw, r=cmr

#8039 broke ARM build, and nothing uses these yet.
rm ancient error for lowercase kinds

3 of these kinds no longer even exist in the CamelCase form
remove `copy` as a keyword
register snapshots.
auto merge of #8177 : graydon/rust/2013-07-31-register-new-snapshots, r=thestinger

r? someone
make `in` and `foreach` get treated as keywords
convert `pure` to a reserved keyword
auto merge of #8162 : thestinger/rust/no-copy, r=brson