gevent support

A quick, simple take on gevent support. I can't get the integration tests to run (with or without my changes), so I'm not sure if this is a complete implementation or not. It seems to work for my use cases, but I'd like to get this fully baked.