Add groups

This PR adds groups to the submission system.

Still needs a frontend though.
Seems like this line is breaking in Travis as `self.assignment` is `None`.