mk: Rename CTEST_BENCH to TEST_BENCH

The CTEST prefix is specifically related to the compiletest driver
mk: Add NO_BENCH variable for turning off the --bench flag
Remove ChanOneHack/PortOneHack extra allocation
Optimize try_recv to not require the two context switches when data is available.
Implement select() for new runtime pipes.
Add test cases for select
Add a better-for-testing optimistic_check() for pipes with cfg(test).
(cleanup) Fix unimplemented message for kill_all in newsched.
Unkillable is not unsafe. Close #7832.
UnsafeArc methods return unsafe pointers, so are not themselves unsafe.
Modify test to expose issue #6492.
Fix opts_str.

opt_val doesn't not fail! for missing options.

Closes #6492
Fix comment.
std::rt: Use 2MB stacks

Seems to be around the minimum needed by rustc without split stacks
std::rt: Change Thread interface to require an explicit join

Makes it more obvious what's going on
std: Remove ManualThreads spawn mode
std: Remove ThreadPerTask spawn mode. Unimplemented
std: Remove PlatformThread spawn mode. Obsolete
std: Remove ExistingScheduler spawn mode. Unused
std: Remove CurrentScheduler spawn mode. Unused