function baseCopy(source, props, object) {
  object || (object = {});

  var index = -1,
      length = props.length;

  while (++index < length) {
    var key = props[index];
    object[key] = source[key];
  }
  return object;
}
The base implementation of `baseForIn` and `baseForOwn` which iterates
over `object` properties returned by `keysFunc` invoking `iteratee` for
each property. Iteratee functions may exit iteration early by explicitly
returning `false`.

@private
@param {Object} object The object to iterate over.
@param {Function} iteratee The function invoked per iteration.
@param {Function} keysFunc The function to get the keys of `object`.
@returns {Object} Returns `object`.