Refactored local::promise to be standard conformant

It'd be doable, since we don't have allocator support. Whether it be worth it, I'm not sure. I think it would only help for cases where a `promise` is destructed without ever being used.