Issue:
feat: add blacklist for roles

After a role is updated, the users who are using that role at that time should get new tokens. So, the role should be blacklisted.


Resolution:
<think>
PR Context:
- Title: feat(roles): Add blacklist for roles
- Merged: 2024-02-23T11:09:44Z
- Files changed: 4 files
- Commits: 8 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [ ] New feature
- [x] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
<!-- Describe your changes in detail -->
This PR adds ability to blacklist roles to stop JWTs after a role is changed.

### Additional Changes

- [ ] This PR modifies the API contract
- [ ] This PR modifies the database schema
- [ ] This PR modifies application configuration/en
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** feat(roles): Add blacklist for roles (#3794)
Co-authored-by: hyperswitch-bot[bot] <148525504+hypersw
Files to modify:


**crates/router/src/consts.rs**
  Modify existing code

**crates/router/src/core/user_role/role.rs**
  Modify existing code

**crates/router/src/services/authentication.rs**
  Modify existing code

**crates/router/src/services/authentication/blacklist.rs**
  Add:
    - function: pub::insert_role_in_blacklist
    - function: pub::check_role_in_blacklist
    - function: private::check_in_blacklist
    - function: private::check_in_blacklist
    - trait: pub::BlackList
    - impl: impl BlackList for AuthToken
    - impl: impl BlackList for UserAuthToken