Add groups

This PR adds groups to the submission system.

Still needs a frontend though.
We should use a different error code for this. Perhaps some sort of 400?