Add WHOIS and WHOWAS.
Add future and coroutine functionality.
Clean up argument naming.
Make EventLoop more robust.
Make EventLoop compatible with nested context managers.
Remove accidental double messages.