code: function remove(obj, path, sep) {
      if (!is.obj(obj) || !is.nonEmptyStr(path))  return false;
      if (!is.nonEmptyStr(sep))  sep = defaultSepChar;
  
      var parentPath = getParentPath(path, sep);
      var child = getChild(path, sep);
      if (!is.nonEmptyStr(child))  return false;
  
      // if there is a parent path, we get the parent object, check to see what it
      // is and then update it
      if (parentPath.length) {
          var parentObj = get(obj, path, sep);
          if (is.undef(parentObj))  return false;
          delete parentObj[child];
          return true;
      }
  
      if (is.undef(obj[child]))  return false;
      delete obj[child];
      return true;
  }
docs: Given an object and a '/' separated path, remove the property at the path,
  return true if found and deleted and false if not found.
  @param {Object} obj An object upon which to apply the path.
  @param {String} path The path to traverse the object, e.g 'a.b.c'
  @param {String} [sep] The separator char to delimit the properties in the path. Optional. If not specified, '.' is assumed.
  @return {Boolean} returns true if found and removed and false otherwise.