add a threading hub module

this provides gevent-like api using eventlet.
sweep the tree to change from gevent to ryu.lib.hub

mostly mechanical changes.
also, change the requirement from gevent to eventlet.
controller: fix send queue draining again

and this time add comments to explain the intention.
limit the size of ryu app's event queue

otherwise a queue grows too long and consumes much memory on load.
the size used in this commit (128) is arbitrary.
add a ryuapp to provide python interactive console for debugging
hub: implement event.clear for topology/switches
hub: some tests
hub: fix event
hub: tests