asyncio: Use logging and errno modules.
asyncio: Add remove_reader()/remove_writer().
asyncio: Add asyncio.async() dummy factory function.

Not Task bloat implemented (so far?), so just identity function for CPython
compatibility.
asyncio: Add basic loop.call_soon() test.
asyncio: Handle end of stream condition properly.

By removing any IO watches for associated file handle. The way it's
implemented tries to preserve OS-like separation between event loop and
tasks. So, stream to finish watching fd for IO also issues syscall,
instead of calling methods on loop instance directly. Calling method on
loop would be more efficient, but will require storing reference to loop
in each stream. And those separation matters...
asyncio: Add basic asyncio stream interface test.