std: More TLS micro-optimization
std::rt: Optimize TLS use in change_task_context
std::rt: Remove extra boxes from MessageQueue and SleeperList
std::rt: Reduce SleeperList contention

This makes the lock much less contended. In the test I'm running the
number of times it's contended goes from ~100000 down to ~1000.
std::rt: Reduce MessageQueue contention

It's not a huge win but it does reduce the amount of time spent
contesting the message queue when the schedulers are under load
std::rt: Remove metrics for perf

These aren't used for anything at the moment and cause some TLS hits
on some perf-critical code paths. Will need to put better thought into
it in the future.
std: Convert the runtime TLS key to a Rust global to avoid FFI
std::rt: Remove an unnecessary allocation from the main sched loop
std: Make vec::push_all_move call reserve_at_least

vec::unshift uses this to add elements, scheduler queues use unshift,
and this was causing a lot of reallocation
std::rt: Enforce sanity a while longer

I'm not comfortable turning off rtassert! yet