Merge with 3.4
Issue #18974: Tools/scripts/diff.py now uses argparse instead of optparse.
Fix getargspec() doctring (varkw -> keywords).
Issue #21645, #21985: Remove debug code
Issue #21765: Add support for non-ascii identifiers to HyperParser
Issue #21765: Add support for non-ascii identifiers to HyperParser
Fixed recently added Misc/NEWS entry which was moved during merge
asyncio: test_selector_events: remove duplicate call to _on_handshake() method

The _SelectorSslTransport constructor already calls it.
(Merge 3.4) asyncio: test_selector_events: remove duplicate call to
_on_handshake() method

The _SelectorSslTransport constructor already calls it.
Issue #21163, asyncio: Ignore "destroy pending task" warnings for private tasks
in gather().
(Merge 3.4) Issue #21163, asyncio: Ignore "destroy pending task" warnings for
private tasks in gather().
Issue #21163: Fix "destroy pending task" warning in test_wait_errors()
(Merge 3.4) Issue #21163: Fix "destroy pending task" warning in test_wait_errors()
asyncio: test_as_completed(): disable "slow callback" warning
(Merge 3.4) asyncio: test_as_completed(): disable "slow callback" warning
Remove Tools/scripts/pydocgui.pyw.

pydoc.gui was removed over 3 years ago (#10818), this script has been
utterly bereft of worth since then.
Merge removal of Tools/scripts/pydocgui.pyw
Issue #21918: Convert test_tools.py to a sub-package of test.
Issue #21918: Convert test_tools.py to a sub-package of test.

Merge with 3.4.
Fix a minor typo in the turtle docs.  Found by Brandon Passmore on docs@.