Add lazy minimal promise.  Promises/A+ interoperable, but not fully compliant