WIP: Add request rate limits

Open username-removed-1144264 requested to merge mk-add-user-rate-limits into master

What does this MR do?

Adds configurable rate limits for authenticated web requests (per user), authenticated API requests (per user), and unauthenticated requests (per IP).

Are there points in the code the reviewer needs to double check?

Why was this MR needed?

To mitigate excessive requests from abusive clients.

Screenshots (if relevant)

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/30053

Edited by username-removed-1144264