onFailure = function(reason) {
                    self.log(qq.format("Failed to retrieve key name for {}.  Reason: {}", id, reason || "null"), "error");
                    failureCallback(reason);
                }
Called by the internal onUpload handler if the integrator has supplied a function to determine
the file's key name.  The integrator's function may be promissory.  We also need to fulfill
the promise contract associated with the caller as well.

@param keynameFunc Integrator-supplied function that must be executed to determine the key name.  May be promissory.
@param id ID of the associated file
@param successCallback Invoke this if key name retrieval is successful, passing in the key name.
@param failureCallback Invoke this if key name retrieval was unsuccessful.
@private