Make it work with pypy

@temoto: This is my work in progress branch to make Eventlet build cleanly with PyPy. Currently it consists of:

* 2 actual fixes (fd-like duck object and kqueue hub /it seems PyPy is at fault here but it's easier for me to fix it here/)
* Strategically Placed ```gc.collect``` Calls in the test code (I have no idea why some of them would help but they do; I'm not entirely happy with this approach so feel free to suggest better fix if you can think of anything)
* Bunch of random travis.yml/tox.ini changes to make it build on Travis at all (tox was failing to install local eventlet sdist/execute nosetests with "Invocation failed (...)", honestly I don't know which of the changes are necessary anymore but I can't reproduce locally and I already spent too much time fighting that :)

Left in separate commits for clarity, feel free to cherry-pick/squash as needed.