Issue #19619: Blacklist non-text codecs in method API

str.encode, bytes.decode and bytearray.decode now use an
internal API to throw LookupError for known non-text encodings,
rather than attempting the encoding or decoding operation and
then throwing a TypeError for an unexpected output type.

The latter mechanism remains in place for third party non-text
encodings.

Backported changeset d68df99d7a57.
Null merge
Merge heads
whatsnew: frame.clear, expanded entry for -I/isolated mode.
Fix NEWS entry wording.
Remove redundant NEWS entry.
Fix typo.
#20740: desquarify 2.
#20740: merge with 3.3.
#20628: make it clear that DictReader/Writer *fieldnames* is a Sequence.

Patch by Sean Rodman.
#20628: wrap lines to < 80.
Merge #20628: make it clear that DictReader/Writer *fieldnames* is a Sequence.

Including the subsequent line re-wrapping.
whatsnew: cypthon can be compiled with address sanity checking enabled.
Fix wording of NEWS entry.
Fix return type in doc of PyStructSequence_InitType2.
whatsnew: unittest.TestCase.assertLogs.

Also fix issue number in address sanity check entry.
whatsnew: http.server --bind cli option.

Also some fixups in the docs.
Clarify that flow control works for datagrams, except on BSD.