Refactored local::promise to be standard conformant

I was confused about if a default constructed promise is valid or not ... so let's keep it as is.