Utility for creating lazy promises

These are promises that only start their work once a handler is registered
on the promise.