Initial commit
Reformat docstrings
Use set literal instead of set()
Further cleanup and refactoring

trampoline() now requires an int file descriptor. Passing a socket object is no
longer supported.
More reformatting
Make first letter of object type uppercase

PEP8
More reformatting
Remove python2 references to `file`
More cleanups

- Inline various imports (origianlly used for Python2 compatibility)
- Reformat code
Use relative imports
Use relative imports
Create ABCs for the Hub and FdListener

This allows us to structure/extend these aspects of the system easily.
Major fix to get eventlet working with pyuv on Python 3

The code is now *working*, but may contain several bugs. It's currently slow due
to various debugging decorators and log statements.
Remove debugging constructs to speed up the loop
Reformat code
Fix timer memory leak bug

The timer has to be closed when we're done with it in schedule_call_global().
If we don't do this, we'll leak timer handles on every request.
Remove old, unused code
Reformat code
Fix signal handler for SIGINT

The loop now corretly exits when SIGINT is received.
Further reorganize code and create abstract classes