Usergroup roles support

Working version which currently breaks a lot of tests however is ready
for testing by devs. There are still things to improve. Also we enable
users that can edit usergroups a privilege escalation atm.
Fixed tests
Add cycle detection and prevention in usergroups
Add migration for caching existing user roles
Fixed issue for redundant structures
Recache after remove

The only way to keep correct cache without complete recalculation or
having complete paths stored
With this we don't even need user_membership caching
Roles design