@Nonnull
    static <U> Promise<U> supplyingExceptionally(@Nonnull ThreadContext context, @Nonnull Callable<U> callable) {
        Promise<U> p = empty();
        return p.supplyExceptionally(context, callable);
    }
Returns a new Promise, and schedules it's population via the given callable.

@param context the type of executor to use to supply the promise
@param callable the value callable
@param <U> the result type
@return the promise
helper/src/main/java/me/lucko/helper/promise/Promise.java