Issue:
[FEATURE] add a route that will invalidate cache

### Feature Description

Currently we don't have any way to manually invalidate cache that's stored in redis and in-memory, Add a route that given a key will invalidate both of redis and inmemory cache.

### Possible Implementation

So the in memory cache currently has `invalidate` function that will delete the entry in the cache, and in our redis interface we have `delete_key` function that will delete the entry from redis. You need to create a route in `app.rs` that will call this on `AdminApiKeyAuth`. 

### Have you spent some time to check if this feature request has been raised before?

- [X] I checked and didn't find similar issue

### Have you read the Contributing Guidelines?

- [X] I have read the [Contributing Guidelines](https://github.com/juspay/hyperswitch/blob/main/docs/CONTRIBUTING.md)

### Are you willing to submit a PR?

None

Resolution:
<think>
PR Context:
- Title: feat(router): add route to invalidate cache entry
- Merged: 2023-06-21T08:03:24Z
- Files changed: 14 files
- Commits: 30 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [x] New feature
- [ ] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
A new route to invalidate the in-memory cache and redis


### Additional Changes

- [ ] This PR modifies the API contract
- [ ] This PR modifies the database schema
- [ ] This PR modifies application configuration/environment variables

<!-- 
Provide links to the files with 
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** feat(router): add route to invalidate cache entry (#1100)
Co-authored-by: jeeva <jeeva.ramu@coduranc
Files to modify:


**crates/drainer/src/utils.rs**
  Modify existing code

**crates/redis_interface/src/commands.rs**
  Add:
    - function: pub::delete_key
    - function: private::test_delete_existing_key_success

**crates/redis_interface/src/errors.rs**
  Modify existing code

**crates/redis_interface/src/types.rs**
  Add:
    - function: private::from_value
    - enum: pub::DelReply
    - impl: impl fred::types::FromRedis for DelReply

**crates/router/src/cache.rs**
  Add:
    - function: pub::remove
    - function: private::invalidate_cache_for_key

**crates/router/src/core.rs**
  Add:
    - mod: pub::cache

**crates/router/src/core/cache.rs**
  Add:
    - function: pub::invalidate

**crates/router/src/db/queue.rs**
  Modify existing code

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

**crates/router/src/routes.rs**
  Add:
    - mod: pub::cache

**crates/router/src/routes/app.rs**
  Add:
    - function: pub::server
    - struct: pub::Cache
    - impl: impl Cache

**crates/router/src/routes/cache.rs**
  Add:
    - function: pub::invalidate

**crates/router/tests/cache.rs**
  Add:
    - function: private::invalidate_existing_cache_success
    - function: private::invalidate_non_existing_cache_success
    - mod: private::utils

**crates/router_env/src/logger/types.rs**
  Modify existing code