We want to ensure that for a given community, role names are unique (so we don't have several instances of one role with a different set of permissions). The key is a composite key between thread and name because we don't want to prevent the same role name from occurring across several different communities (i.e. 'Moderator' should be allowed in two different communities, but cannot exist twice in the same community).
This is the keyserver validation of preventing this error, the next step will involve adding some kind of client-side notice when they click 'Create' that it is a duplicate role name, before the call to create the role is made
Note: Given that the ability to create custom roles has begun in this stack, there shouldn't be an instance where there is a malformed DB state (except mine) with role names besides Admins and Members, so I don't see any issues coming out of this migration.
Part of ENG-4178.
Depends on D8431