Added home_for_io_with_sched variant. Temporarily making IO unkillable.
Add PointerKind to LpDeref
Prohibit assignment to `&mut` pointers that are found in frozen or borrowed locations.

Fixes #8625.
Make getopts count (and thus align/paginate) in terms of codepoints not bytes.
Fix some vector function failure tests. Closes #8698
Allow metadata to be not compressed
Don't copy metadata after loading
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
Introduce alternate forms of logging

These new macros are all based on format! instead of fmt! and purely exist for
bootstrapping purposes. After the next snapshot, all uses of logging will be
migrated to these macros, and then after the next snapshot after that we can
drop the `2` suffix on everything
auto merge of #8637 : alexcrichton/rust/ifmt-less-hax, r=graydon

Recent improvements to `&mut Trait` have made this work possible, and it solidifies that `ifmt` doesn't always have to return a string, but rather it's based around writers.
auto merge of #8701 : brson/rust/issue-8698, r=thestinger
Don't ever compress metadata
auto merge of #8736 : luqmana/rust/hf, r=yichoi

Fixes #8536.
std::str: Double-ended CharSplitIterator

Add new methods `.rsplit_iter()` and `.rsplitn_iter()` for &str.

Separate out CharSplitIterator and CharSplitNIterator,
CharSplitIterator (`split_iter` and `rsplit_iter`) is made double-ended
while `splitn_iter` and `rsplitn_iter` (limited to N splits) are not,
since these don't have the same symmetry.

With CharSplitIterator being double ended, derived iterators like
`line_iter` and `word_iter` are too.
char_len is more succinct than count_chars.