Denormalise banned users on merge requests table

Denormalise banned users on merge requests table. Will drop about 250ms off of the merge requests list page on .com, e.g. https://gitlab.com/gitlab-org/gitlab/-/merge_requests.

This adds an author_banned boolean to the merge_requests table which is updated as users are banned/unbanned, which then vastly simplifies the query to fetch only merge requests by unbanned users. This also adds an index to cover the adjusted query.

Changelog: performance

Screenshots or screen recordings

Screenshot_2023-07-25_at_15.05.13

Edited by Sean Carroll