asyncio: sync with Tulip

* Tulip issue 194: Don't use sys.getrefcount() in unit tests
* signal.set_wakeup_fd() can now raise an OSError on Python 3.5
(Merge 3.4) asyncio: sync with Tulip

* Tulip issue 194: Don't use sys.getrefcount() in unit tests
* signal.set_wakeup_fd() can now raise an OSError on Python 3.5
Issue #22002: Make full use of test discovery in test sub-packages.

Adds `load_package_tests` function to test.support, uses it in test_asyncio,
test_email, test_json, test_tools, test_importlib and all test_importlib
sub-packages to implement test discovery.
Closes #22002: Merge with 3.4
Issue #15275: Clean up and speed up the ntpath module.
Issue #21566: Make use of socket.listen() default backlog.
Issue #6167: Scrollbar.activate() now returns the name of active element if
the argument is not specified.  Scrollbar.set() now always accepts only 2
arguments.  Added tests for Scrollbar.activate() and Scrollbar.set().
Issue #21597: Turtledemo text pane can now be widened to view or copy complete
lines or narrowed for small screens.
Issie #19132: Turtledemo buttons no longer disappear when window is shrun.
Patch mostly by Lita Cho (21597) using idea from patch by Jan Kanis (18132).
Merge with 3.4
Issue #6167: Backported tests for Scrollbar.activate() and Scrollbar.set()
from 6ae34a948cb4.
Null merge
Merge heads
Merge heads
Null merge
Issue #4350: Removed a number of out-of-dated and non-working for a long time
Tkinter methods.
Issue #19493: Fix two uses of ctypes.test.requires (it's not a decorator)
and skip test_win32.FunctionCallTestCase.test_SEH when Python was compiled
in debug configuration or by a non-MSC compiler.
Merge with 3.4