Creates a new permission if it does not already exist. Returns the existing or newly created permission.