Eliminating externally visible reference to std::future

This is intended to make it easier to build Autowiring on platforms where std::future might not be available (IE, android)