trait/promise: remaking a constructor

No reason why trait promise can't still be a constructor, even though
its promise implementation is now in nbd/Promise.