Switch the AF_* and SOCK_* constants in the socket module to IntEnum.

Closes #18720.
Update whatsnew/3.4.rst wrt. the socket constants switch to IntEnum

[issue #18730]
Close #18738:  Route __format__ calls to mixed-in type for mixed Enums (such as IntEnum).
Further reduce the cost of hash collisions by inspecting an additional nearby entry.
merge
Update copyright.
Back out 868ad6fa8e68 - it left all the buildbots failing.

Unclear to me why it was pushed to begin with.  See issue 11798.
Perhaps it's because regrtest with -R was failing?  Fine, but
that's better than regrtest _always_ failing ;-)
Issue #11798: fix tests for regrtest -R :
Issue #18571: Merge duplicate test code

Merge test/subprocessdata/inherited.py into test/subprocessdata/fd_status.py
test_threading isn't rudimentary anymore
test_threading isn't rudimentary anymore
Fix issue 18889: test_sax: multiple failures on Windows desktop.

"The fix" is to tell Mercurial that the test files are binary.

Windows developers:  to get the correct line endings in your checkout,
delete Lib\test\xmltestdata, and then "hg revert" that directory.

Why the Windows buildbots didn't fail test_sax remains a mystery :-(
Merge fix from 3.3 into default.

Fix issue 18889: test_sax: multiple failures on Windows desktop.

"The fix" is to tell Mercurial that the test files are binary.

Windows developers:  to get the correct line endings in your checkout,
delete Lib\test\xmltestdata, and then "hg revert" that directory.

Why the Windows buildbots didn't fail test_sax remains a mystery :-(