let movelib do the std adaptation.
fix move semantic issues on promise::set_value. Prepare the use of unique_ptr<T,D> to fix allocator issue.