Add base support for cohorted group configurations

TNL-649

Introduced a new scheme field to user partitions that controls how a user gets assigned
to one of the partitions groups. The default scheme is random, but the next step will be
to introduce a new scheme that will assign the user based upon the cohort they belong to.
The original code did something similar to what's being done here: https://github.com/edx/edx-platform/blob/master/common/djangoapps/course_groups/cohorts.py#L108-L125

The reasoning is explained there, but I don't know if the underlying capa issue has since been resolved.