Backfill user_group_member_roles records for users with existing member role assignment
This backfilling should be started when all triggers to create/update/delete `user_group_member_roles` records are in place.
## Implementation plan
1. Backfill `user_group_member_roles` records for direct group membership:
1. Get all group membership with an assigned member role: `Member.where.not(member_role_id: nil).where(source_type: 'Namespace')`
2. For each `member` create `Authz::UserGroupMemberRole.new(user: member.user, group: member.source, member_role: member.member_role)`
1. Backfill `user_group_member_roles` records for shared groups:
1. Get all `GroupGroupLink` (all because users inside the invited groups might have member roles that would need to be accounted for)
2. For each `link` in (1), get all **active** members of `link.shared_with_group`
3. For each `member` in (2)
1. Determine `member_role` that should be assigned to `member.user` in `link.shared_group`
1. Create `Authz::UserGroupMemberRole.new(user: member.user, group: link.shared_group, shared_with_group: member.source, member_role: member_role.id)` (`shared_with_group` can also be `link.shared_with_group`)
## Resources
- https://docs.gitlab.com/development/database/batched_background_migrations
- https://docs.gitlab.com/development/database/batching_best_practices/
- https://docs.gitlab.com/development/database/insert_into_tables_in_batches/
task