Improve robustness of lists
This MR improves the robustness of lists in the following ways:
- Fetching list elements only fetches actual list elements
- Creating a list with a predefined id now checks the id for availability
- Deleting a list now checks whether the list is still used in a (rosetta stone) statement
- Creating and updating a list now requires contributor information
- Updating a list no longer queries the repository if there are no actual changes
- Optimized deletion process
Should be easy to review when going through individual commits