C++14 asynchronous allocation aware futures (supporting then, exception handling, coroutines and connections)