Make getopts count (and thus align/paginate) in terms of codepoints not bytes.
Rename {Reader,Writer}ByteConversions methods

The method names in std::rt::io::extensions::WriterByteConversions are
the same as those in std::io::WriterUtils and a resolve error causes
rustc to fail after trying to find an impl of io::Writer instead of
trying to look for rt::io::Writer as well.

Same goes for ReaderByteConversions.
Fix some vector function failure tests. Closes #8698
std: Reduce TLS access
Define cfg(rtopt) when optimizing. Turn off runtime sanity checks

Naturally, and sadly, turning off sanity checks in the runtime is
a noticable performance win. The particular test I'm running goes from
~1.5 s to ~1.3s.

Sanity checks are turned *on* when not optimizing, or when cfg
includes `rtdebug` or `rtassert`.
std: Convert some assert!s to rtassert!
Added note that there is still more to do on 5516.

Also added regression test for the byte vs codepoint issues that the
previous commit fixes.
rustllvm: Specify hard floats for gnueabihf.
librustc: Always use session target triple.
Remove ifmt hax and implement fprintf
Implement a wrapper macro around fprintf -- ifmtf
Settle on the format/write/print family of names
Add OwnedStr::into_bytes

My primary use case here is sending strings across the wire where the
intermediate storage is a byte array. The new method ends up avoiding a
copy.
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