code: function recursiveMerge (target, src) {
      for (var prop in src) {
          if (src.hasOwnProperty(prop)) {
              if (target.prototype && target.prototype.constructor === target) {
                  // If the target object is a constructor override off prototype.
                  clobber(target.prototype, prop, src[prop]);
              } else {
                  if (typeof src[prop] === 'object' && typeof target[prop] === 'object') {
                      recursiveMerge(target[prop], src[prop]);
                  } else {
                      clobber(target, prop, src[prop]);
                  }
              }
          }
      }
  }
docs: Merge properties from one object onto another recursively.  Properties from
  the src object will overwrite existing target property.
  
  @param target Object to merge properties into.
  @param src Object to merge properties from.