Fix Cross Join in Users Autocomplete

Context

This issue has been created from #420387 (closed)

The class Autocomplete::GroupUsersFinder is used to retrieve a users relation that contains all the users that belong to a group, directly or indirectly. This finder class creates a database query that has a cross join between the two tables users and members.

This class is used by two other components in the system:

  1. Addressed in another issue: Autocomplete::UsersFinder. It uses Autocomplete::GroupUsersFinder for the search bar autocomplete. For example on a Group Merge Requests. This is an example page where this is used: https://gitlab.com/groups/gitlab-org/-/merge_requests?scope=all&state=opened&author_username=OmarQunsulGitlab. This is being solved, at the time of writing this issue, in this related issue #420387 (closed). See this MR: !134915 (merged)

  2. To be addressed in this issue: Groups::ParticipantsService uses Autocomplete::GroupUsersFinder to get the users for the autocomplete that is used while writing some description/comment. This cross join to be solved in this issue, and it's blocked by the work being done here: #209965 (closed)

Edited by Omar Qunsul