Type traits like future/promise handling.
Attempt to change future/promise over, so it won't require tuple arguments.
Complete overhaul of future/promise.

Much nicer interface now resembles the STL version more closely.
Most operations require only 1 allocation instead of 2.