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.
I think that rather than just flagging `IS_DYNAMIC`, the partition scheme code should be responsible for reading/writing it's partitioning data. So, the randomized version would have a table, and the groups-based would have it's own table, but nothing outside of the schemes would have to know about the persistence.