Deepcopy the flattened copy, cannot deepcopy nested models
Calculate subscription permissions, joining defaults, grants and revokes
refactor grant/revoke permission for user in context
* Now explicit grants on a permission are marked with a (+) prefix and revokes with a (-)
Check for the present of the grant, not the permission itself

* Now the status code indicates wether the grant is set, not if the permission is present
Return new permissions
Return the susbcription with the updated permissions
Adapt canWriteInContexts to new permission name schema

* Added helper to determine the real permission based on existing grants/revokes
Adapt delete permissions check
Fix tests