Some improvements to the Cargo compiler file.
Use rustc's errorformat and add option to specify permanent parameters.
Updates based on kballard's feedback.
Added check for absolute file path, removed hard tab, and added documentation for new option.
Fix remaining documentation to reflect fail!() -> panic!()

Throughout the docs, "failure" was replaced with "panics" if it means a
task panic. Otherwise, it remained as is, or changed to "errors" to
clearly differentiate it from a task panic.
Fix documentation bug

The first paragraph must be separated from the next paragraph.
Otherwise, rustdoc will consider the content of the latter as part of
the title.
librustc: Allow linkage attribute on any statics, not just foreign statics.
librustc: Respect no-compiler-rt target option for static libs as well.
std: Rename AsRef{Reader,Writer} to ByRef{Reader,Writer}
Fix inconsistent use of substs in trans_unboxing_shim

Substs were not applied when calling `untuple_arguments_if_necessary`.
Just apply them once at the start of the function, rebinding `fty`.
Also change the function to take them by reference since we don't
need to consume them at all.  Closes #18883
Add regression test for #18883
Results aren't panics

A typo about Results being panics crawled in. Fixing it.
Fix po4a.conf
Fix `Vec::map_in_place` not doing what is written in the comment
fix "warning: deprecated syntax, use `for` keyword now"
Reference: Fix list in Expressions section
convert 1 line match to 2 lines for readability
Don't use rust  keyword for fake code
src/etc/snapshot: support triples lacking a vendor
Make std::io::Buffer object-safe.

[breaking-change]
Any uses of Buffer::lines() and Buffer::chars() will need to use the new trait std::io::BufferPrelude.