function makePromiseKit() {
  const { resolve, reject, executor } = makeReleasingExecutorKit();

  const promise = new BestPipelinablePromise(executor);

  return harden({ promise, resolve, reject });
}
makePromiseKit() builds a Promise object, and returns a record
containing the promise itself, as well as separate facets for resolving
and rejecting it.

@template T
@returns {import('./src/types.js').PromiseKit<T>}