Move IntoString to collections::string
Move ToString to collections::string

This also impls `FormatWriter` for `Vec<u8>`
Un-feature gate struct variants

Struct variant field visibility is now inherited. Remove `pub` keywords
from declarations.

Closes #18641

[breaking-change]
doc: make end comment consistent with start comment
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.
Conformed the 100 char limit and changed colon to semicolon
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
rollup merge of #18960: stepancheg/cell-default
rollup merge of #18964: coyotebush/rustdoc-print
rollup merge of #18965: cmr/master
rollup merge of #18970: aturon/fixup-stable
rollup merge of #18976: bjz/rfc369-numerics
rollup merge of #18979: inrustwetrust/codegen-options-parsing
rollup merge of #18985: alexcrichton/issue-18900
rollup merge of #18989: alex/fix-typos