cri_models: rework groups
The current group model is not satisfactory and a full rework is needed. Our current approach is based on the assumption that groups can be represented as a hierarchy and that this hierarchy can be recreated from scratch each year.
We should move to a group inclusion approach (the groups hierarchy being replaced by a directed graph). We should also assume that the groups stay in place each year and store the graduation date of the user in the user-group relation along with the joining date.