Create a green executor & green future

In order to use the multi-threaded engine
which takes an executor as input for projects
which have *not* eventlet monkey patched the
threading module we provide a eventlet
compatible executor and future objects which
can work with the same multi-threaded engine.

This executor also works in natively threaded
applications by correctly altering the future
condition attribute to use a greened condition,
which is required to make sure that greenthreads
run when the condition is waited on.

blueprint eventlet-engine

Change-Id: Ida9ce6183471ad6b323a3c9ca863561699e32ddc
Merge "Create a green executor & green future"