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.
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.