Experimental gevent support

This commit supplies experimental gevent support by providing its own
'IOPS' plugin based on the monkey-patched gevent select and other socket
functions.

This framework may also be used as the basis of true async frameworks
such as twisted and tornado.

At this stage however the operations will still expect to block until
the operation completes and thus cannot be used yet to implement true
async (i.e. callback/errback) support.

Considering the complexities of testing such a feature coupled with the
fact that this is marked as experimental -- as well as the fact that
this patchset changes very little of the core code, tests are not
currently supplied. They will be supplied when this feature becomes
stable.

Change-Id: I19870ec74888a62423097e6fc36e83123612bc81
Reviewed-on: http://review.couchbase.org/27921
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>