Reference: Fix list in Expressions section
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.
auto merge of #18924 : cakebaker/rust/fix_list, r=steveklabnik
Slightly improved rustc error messages for invalid -C arguments
std: Fix a flaky test on OSX 10.10

This test was somewhat sketchy already with a `loop` around `write`, so this
just adds some explicit synchronization to only call `write` once and guarantee
that the error happens.

Closes #18900
Fixed several typos
doc: small grammar fix
Move FromStr to core::str
Remove core::num::strconv
Remove use of deprecated function
Rename IntoStr to IntoString

For consistancy with ToString
Move IntoString to collections::string
Move ToString to collections::string

This also impls `FormatWriter` for `Vec<u8>`
auto merge of #18788 : ricky26/rust/master, r=aturon

This moves chars() and lines() out of Buffer and into separate traits (CharsBuffer and LinesBuffer respectively) - this matches the pattern used for bytes() on Reader (with BytesReader).

(I came across this when I wanted a trait object of a Buffer, so that I could use read_line(); rustc errors about std::io::Buffer not being object-safe.)

[breaking-change]
Any uses of Buffer::lines() will need to use the new trait std::io::LinesBuffer.
The same is true for Buffer::chars() with std::io::CharsBuffer.
rollup merge of #18933: IanConnolly/doc-fake-rust
rollup merge of #18935: jmesmon/cody/no-vendor-triplle
rollup merge of #18941: reem/better-task-pool
rollup merge of #18942: jbcrail/tree-set-docs
rollup merge of #18948: barosl/doc-encodable-fix
rollup merge of #18949: tomjakubowski/tojson-str