Wip

Head of this has some fixes on that may be of interest.
I'm pretty certain that my changes have nothing to do with this:

[[[
FAIL: test_cpu_usage_after_pub_send_or_dealer_recv (tests.zmq_test.TestUpstreamDownStream)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/travis/build/eventlet/eventlet/tests/__init__.py", line 79, in wrapped
    return func(*a, **kw)
  File "/home/travis/build/eventlet/eventlet/tests/zmq_test.py", line 453, in test_cpu_usage_after_pub_send_or_dealer_recv
    check_idle_cpu_usage(0.2, 0.1)
  File "/home/travis/build/eventlet/eventlet/tests/__init__.py", line 218, in check_idle_cpu_usage
    allowed_part * 100)
AssertionError: CPU usage over limit: user 16% sys 1% allowed 10%
]]]