A Futures Library for Asynchronous Programming in C++