Issue 21375:  Fix possible Py_ssizet overflow in heapq.
merge
Issue 21101:  Internal API for dict getitem and setitem where the hash value is known.
Issue #21101:  Eliminate double hashing in the C code for collections.Counter().
do not expose known hash api in stable API
improve test coverage of filecmp (closes #21357)

Patch by Diana Clarke.
merge 3.4 (#21357)
use with blocks to make sure files are closed
merge 3.4
improve idioms (closes #20642)

Patch by Claudiu Popa.
Simplify and speedup the internals of the heapq module.
Neaten-up a bit add add missing size change check.
Issue #21421:  Add __slots__ to the MappingViews ABCs.
Issue #18604: Skip the Tk instantiation test on OS X because it can
cause GUI tests to segfault in Cocoa Tk when run under regrtest -j
(multiple threads running subprocesses).
Issue #18604: merge from 3.4
Issue #19414: Have the OrderedDict mark deleted links as unusable.
This gives an earlier and more visible failure if a link is deleted
during iteration.
Issue #21088: Bugfix for curses.window.addch() regression in 3.4.0.
In porting to Argument Clinic, the first two arguments were reversed.
Issue #21088: Merge from 3.4.
asyncio docs: ProactorEventLoop does not support SSL.
Merge 3.4->default: asyncio docs: ProactorEventLoop does not support SSL.