Refactored local::promise to be standard conformant

Ok, that could be arranged...
A default constructed `promise` is not only valid, but is the only way to obtain a valid promise.