Create the give dataset if it doesn't no exist, or update the existing one.
Should return the datasetClient instance in the callback
@param {String} datasetClientId the id of the datasetClient
@param {storage~DatasetClient} fields the fields to upsert
@param {Function} callback
function(datasetClientId, fields, callback) {
      fields.id = datasetClientId;
      return metrics.timeAsyncFunc(metrics.KEYS.MONGODB_OPERATION_TIME, doUpdateDatasetClient)(datasetClientId, fields, true, callback);
    }