Refactor experiments
This MR changes the experiments workflow. This involves the following key changes:
- Experiment Projects are set as an actable of Project (multi table inheritance) such that all the normal routes also support experiment projects.
- Experiment Preferences have been transfered into Project Preferences, which allows us to fully use the normal logic (though it needed some UI components specific to experiment preferences).
- Transferring experiment projects and experiment preferences into projects and project preferences allows us to use the Java grouping algorithms (round selection did require some modifications to AIDM, see AIDM!5).
- Altered Java grouping algorithm to try and fill all project slots, rather than require that all students must be allocated. This allows for allocations where there are not enough spots for all students.
- Updated the TNW custom grouping algorithm to work with the new data classes (minor changes), to allow for backwards compatibility.
- Added preference indication on grouping allocation overview page to see quickly how good each allocation is.
- Added overview of unallocated students on grouping allocation overview page.
Edited by Taico Aerts