Add a rotate_self scope for token
### Proposal Currently if I want to rotate a token, I will need to use a token with `api` scope. So, for example, if I want to automatize rotation of `write_repository` scoped token, I will need either - to give also an `api` scope to my token and then self rotate the token, which is somehow against the *Least Privilege Principle* - to have a second token, `api` scoped, and use it to rotate the first one (note that I will also need to rotate the second token). Thus, the need to renew tokens could lead to a multiplication of `api` scoped tokens, which, in my opinion, is not a safe option. The proposal here, is to add a `rotate_self` scope to allow one token to rotate itself. The token with `rotate_self` scope would not have access to the entire api, but only, for example, to the `https://gitlab.example.com/api/v4/personal_access_tokens/self/rotate` endpoint in order to allow the token to to self-rotate. This would lead to a simpler and safer token rotation procedure than the current one, which requires a second `api` scoped token to rotate a token (and even a third one `api` scoped token to enable automatic mutual rotation of the `api` scoped tokens). Related issues: - #426779+ - #428256+ - #414600+
issue