Apply the PyObject_VAR_HEAD and Py_SIZE macros
to be consistent with practices in other modules.
Issue #3329: Implement the PEP 445

Add new enum:

* PyMemAllocatorDomain

Add new structures:

* PyMemAllocator
* PyObjectArenaAllocator

Add new functions:

* PyMem_RawMalloc(), PyMem_RawRealloc(), PyMem_RawFree()
* PyMem_GetAllocator(), PyMem_SetAllocator()
* PyObject_GetArenaAllocator(), PyObject_SetArenaAllocator()
* PyMem_SetupDebugHooks()

Changes:

* PyMem_Malloc()/PyObject_Realloc() now always call malloc()/realloc(), instead
  of calling PyObject_Malloc()/PyObject_Realloc() in debug mode.
* PyObject_Malloc()/PyObject_Realloc() now falls back to
  PyMem_Malloc()/PyMem_Realloc() for allocations larger than 512 bytes.
* Redesign debug checks on memory block allocators as hooks, instead of using C
  macros
Issue #17206: On Windows, increase the stack size from 2 MB to 4.2 MB to fix
a stack overflow in the marshal module (fix a crash in test_marshal).
Patch written by Jeremy Kloth.
Issue #3329: Fix _PyObject_ArenaVirtualFree()

According to VirtualFree() documentation, the size must be zero if the "free
type" is MEM_RELEASE.
Improve variable names in deque_count()
merge
Cleanup of documentation change from #17860

Reformulated the textual change, and applied it to the docstring as well.
(3.3->default) Cleanup of documentation change from #17860

Reformulated the textual change, and applied it to the docstring as well.
Issue #18377: Code cleanup in Python Launcher

This changeset fixes a number of compiler warnings in the Python Launcher
binary for OSX. It also cleans up whitespace usage in those sources.
(3.3->default) Issue #18377: Code cleanup in Python Launcher

This changeset fixes a number of compiler warnings in the Python Launcher
binary for OSX. It also cleans up whitespace usage in those sources.
#18020: improve html.escape speed by an order of magnitude.  Patch by Matt Bryant.
Issue #18013: Fix cgi.FieldStorage to parse the W3C sample form.
Merge #18013: Fix cgi.FieldStorage to parse the W3C sample form.
#17198: Fix a NameError in the dbm module.  Patch by Valentina Mukhamedzhanova.
#17198: merge with 3.3.
#18106: refactor tests to use subtests and proper assert methods.  Patch by Vajrasky Kok.
Use macros for marking and checking endpoints in the doubly-linked list of blocks.

* Add comment explaining the endpoint checks
* Only do the checks in a debug build
* Simplify newblock() to only require a length argument
  and leave the link updates to the calling code.
* Also add comment for the freelisting logic.
Fix #ifdef
Issue #18203: Fix Py_Finalize(): destroy the GIL after the last call to
PyMem_Malloc() or PyObject_Malloc().

For example, PyCFunction_Fini() calls PyObject_GC_Del() which calls
PyObject_FREE().
Issue #18203: Replace malloc() with PyMem_RawMalloc() at Python initialization

* Replace malloc() with PyMem_RawMalloc()
* Replace PyMem_Malloc() with PyMem_RawMalloc() where the GIL is not held.
* _Py_char2wchar() now returns a buffer allocated by PyMem_RawMalloc(), instead
  of PyMem_Malloc()