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.
Parse and reserve typeof keyword. #3228
Emit a better error for attempted unsafe-pointer-self. Close #8306.
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.
Make enum discriminants u64 instead of the host uint.
Don't truncate discriminants to host uint for C_uint's sake.
Add a test case for the preceding changes.

This would have failed on 32-to-64-bit cross-compiles.