Extracts and stores roles in JCR
The Multimap<String, String> which is used to communicate is a mapping with:
- key: role name
- value: principals associated to the role
However the storage in JCR is:
- propertyname: principal
- propertyvalue: comma-separated roles
The reason for this is that it makes for a very fast lookup when logging in.