asyncio: sync with Tulip

- Sort imports
- Simplify/optimize iscoroutine(). Inline inspect.isgenerator(obj): replace it
  with isinstance(obj, types.GeneratorType)
- CoroWrapper: check at runtime if Python has the yield-from bug #21209.  If
  Python has the bug, check if CoroWrapper.send() was called by yield-from to
  decide if parameters must be unpacked or not.
- Fix "Task was destroyed but it is pending!" warning in
  test_task_source_traceback()
diff --git a/Lib/asyncio/base_events.py b/Lib/asyncio/base_events.py
index c42e7f9..b3d6e03 100644
--- a/Lib/asyncio/base_events.py
+++ b/Lib/asyncio/base_events.py
@@ -19,11 +19,11 @@
 import heapq
 import inspect
 import logging
+import os
 import socket
 import subprocess
-import traceback
 import time
-import os
+import traceback
 import sys
 
 from . import coroutines