getopts: cleanup, renames, remove reexports

* Remove public reexports, as a part of #19253
* Rename getopts::Fail_ to getopts::Fail
 * Didn't see a reason for the suffixed '_'
* Removed getopts::FailType
 * Looked like it was only beings used for tests; refactored the tests
   to stop requiring it
* A few other non-breaking trivial refactoring changes

[breaking-change]
impl Str for CowString

This implementation existed on MaybeOwned, but has been lost in the
transition to Cows. Let's put it back.
reword faq to remove reference to indexing strings

Fixes #19344
auto merge of #19345 : steveklabnik/rust/gh19344, r=alexcrichton

Fixes #19344
Fix a simple typo
Fix rustc panic on second compile_input
auto merge of #19401 : MatejLach/rust/guide_are_fix, r=steveklabnik

Fixes a small omission of `are` in the sentence:
`There also a few things you can do with a tuple as a whole, without...`
r @steveklabnik?
auto merge of #19392 : murarth/rust/rustc-compile-twice, r=nick29581

Closes #19371
auto merge of #19365 : frewsxcv/rust/getopts-cleanup, r=alexcrichton

* Remove public reexports, as a part of #19253
* Rename getopts::Fail_ to getopts::Fail
 * Didn't see a reason for the suffixed '_'
* Removed getopts::FailType
 * Looked like it was only beings used for tests; refactored the tests
   to stop requiring it
* A few other non-breaking trivial refactoring changes

[breaking-change]
auto merge of #19369 : seanmonstar/rust/cow-str, r=alexcrichton

This implementation existed on MaybeOwned, but has been lost in the
transition to Cows. Let's put it back.

@aturon r?