function _getSpec({ spec, shim, fn, fnName, args }) {
  let dsSpec = spec
  if (shim.isFunction(spec)) {
    dsSpec = spec.call(this, shim, fn, fnName, args)
  }

  dsSpec.parameters = _normalizeParameters.call(shim, dsSpec.parameters)
  return dsSpec
}
Compiles spec by calling it if it is a function or cloning original.
This also defaults the name and normalizes the parameters.

@private
@param {object} params to function
@param {QuerySpec|OperationSpec} params.spec spec for the given shim method
@param {DatastoreShim} params.shim instance of shim
@param {function} params.fn function being instrumented
@param {string} params.fnName name of function being instrumented
@param {Array} params.args arguments to function being instrumented
@returns {QuerySpec|OperationSpec} compiled spec