Issue #18408: normalizestring() now raises MemoryError on memory allocation failure
Issue #18408: Oh, I was wrong: Pickler_New() must call Py_DECREF() to destroy
the newly created pickler, and not PyObject_GC_Del().
Issue #18408: ceval.c: in debug mode, convert the PyErr_Occurred() check on
exception (when getting NULL) to an assertion to detect bugs earlier
Issue #18408: errors.c: in debug mode, calling PyErr_BadInternalCall() now
fails with an assertion error
Issue #18408: pmerge() help of mro_implementation() now raises MemoryError on
memory allocation failure

Replace also PyMem_Free() with PyMem_FREE() to be consistent with the rest of
the function.
Issue #18408: _PyMemoTable_ResizeTable() now restores the old table if
allocating a bigger table failed

PyMemoTable destructor does crash if mt_table is NULL.
Issue #18408: _pickle.c: Add missing PyErr_NoMemory() on memory allocation failures
Issue #18408: Fix parser.sequence2st() and parser.tuple2st(): raise MemoryError
on memory allocation failure

Instead of ignoring the memory allocation failure and create invalid objects.
Issue #18408: parser module: fix error handling in node2tuple()

Handle PyLong_FromLong() and PyUnicode_FromString() failures
Issue #18408: Fix create_extra() of _elementtree.c, raise MemoryError on memory
allocation failure
Issue #18408: Fix constructors of _elementtree.c

* Use Py_DECREF() instead of PyObject_GC_Del() to release correctly all
  resources
* Raise MemoryError on memory allocation failure
Issue #18415: Normalize what type of quotes are used with string
constants in importlib._bootstrap. Along the way clean up from string
interpolation to use the repr explicitly.

Initial patch by Madison May.
Issue #18342: Use the repr of a module name for ``from ... import
...`` when an ImportError occurs.

Other cases had already been switched over to using the repr.

Thanks to Tomasz Ma?kowiak for the patch.
Issue #17845: Clarify the message setup.py prints upon successfully
building Python but having some optional module which didn't build.

Patch by Yogesh Chaudhari.
Issue #18434: Updated example script in venv docs to use setuptools rather than Distribute.
Closes #18434: Merged documentation update from 3.3.
#18431: Decode encoded words in atoms in new email parser.

There is more to be done here in terms of accepting RFC invalid
input that some mailers accept, but this covers the valid
RFC places where encoded words can occur in structured headers.
Merge: #18431: Decode encoded words in atoms in new email parser.
Merge heads.
Merge heads.