add a threading hub module

it currently uses gevent or eventlet internally.
hub: stop trying import gevent

instead, allow to specify the type of hub by RYU_HUB_TYPE
environment variable.  make the default eventlet.
stop using gevent directly

uses to ryu.lib.hub instead.
hub: add getcurrent

will be used by topology
topology: gevent -> ryu.lib.hub
ofctl_v1_2: gevent -> ryu.lib.hub
change requirements: gevent -> eventlet
hub: add some unit tests
hub: make eventlet version of joinall similar to gevent one

to align gevent's joinall which does raise_error=False by default,
ignore exceptions for eventlet version.
controller: fix send queue draining again

and this time add comments to explain the intention.
hub: drop gevent support
group quantum related options

caveats: no config file backward compat
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.