Raise a runtime error when mixed green/non-green futures

To avoid the dead-lock scenario when green futures are being
waited on in the same call as non-green futures just disallow
this rare and unlikely scenario in the first place.

Change-Id: I5b57f7aae94ae40d22047b0b085e4d99e034c2a6
Merge "Raise a runtime error when mixed green/non-green futures"