Issue:
Bug: [BUG] Internal Server Error thrown when updating or deleting non-existent API key



### Bug Description

When a user tries to update or delete a non-existent API key, an internal server error is thrown. The expected behavior is that the server returns a 404 status code, informing that the API key does not exist.

### Expected Behavior

Server should return 404 status code.

### Actual Behavior

Server returns internal server error (500 status code) with the following response:

```json
{
  "error": {
    "type": "api",
    "message": "Something went wrong",
    "code": "HE_00"
  }
}
```

### Steps To Reproduce

The following steps assume that the admin API key for the deployed server is known to the user.

1. Create a merchant account using the create merchant account API and admin API key.
2. Try to use the update API key endpoint or the delete API key endpoint with a non-existent API key ID.

For example, the delete API key request could look like so:
```shell
curl --location --request DELETE 'http://localhost:8080/api_keys/<merchant_id>/a-non-existent-key-id' \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json' \
  --header 'api-key: <ADMIN_API_KEY>'
```

Server returns the aforementioned response.


### Have you spent some time checking if this bug has been raised before?

- [X] I checked and didn't find a 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?

Yes, I am willing to submit a PR!

Pull request description:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [x] Bugfix
- [ ] New feature
- [ ] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
<!-- Describe your changes in detail -->
This PR fixes a bug with the update API key and delete API key endpoints throwing an internal server error when a non-existent API key was provided.

## Motivation and Context
<!--
Why is this change required? What problem does it solve?
If it fixes an open issue, please link to the issue here.

If you don't have an issue, we'd recommend starting with one first so the PR
can focus on the implementation (unless it is an obvious bug or documentation fix
that will have little conversation).
-->
Fixes #3761.

## How did you test it?
<!--
Did you write an integration/unit/API test to verify the code changes?
Or did you test this change manually (provide relevant screenshots)?
-->

Locally. Trying to either update a non-existent API key returns a 404 status code, with an error message stating that the API key does not exist.

1. Update API key (request body may contain data or could just be an empty object): 

   ```shell
   curl --location 'http://localhost:8080/api_keys/<merchant_id>/invalid-api-key-id' \
     --header 'Content-Type: application/json' \
     --header 'Accept: application/json' \
     --header 'api-key: <ADMIN_API_KEY>' \
     --data '{}' 
   ```

2. Delete API key:

   ```shell
   curl --location --request DELETE 'http://localhost:8080/<merchant_id>/merchant_1708546282/invalid-api-key-id' \
     --header 'Content-Type: application/json' \
     --header 'Accept: application/json' \
     --header 'api-key:<ADMIN_API_KEY>'
   ```

In both cases, the response returned should be the same, with a 404 status code:

```json
{
  "error": {
    "type": "invalid_request",
    "message": "API Key does not exist in our records",
    "code": "HE_02"
  }
}
```

## Checklist
<!-- Put an `x` in the boxes that apply -->

- [x] I formatted the code `cargo +nightly fmt --all`
- [x] I addressed lints thrown by `cargo clippy`
- [X] I reviewed the submitted code
- [ ] I added unit tests for my changes where possible
- [ ] I added a [CHANGELOG](/CHANGELOG.md) entry if applicable


Testing:


Locally. Trying to either update a non-existent API key returns a 404 status code, with an error message stating that the API key does not exist.

1. Update API key (request body may contain data or could just be an empty object): 

   ```shell
   curl --location 'http://localhost:8080/api_keys/<merchant_id>/invalid-api-key-id' \
     --header 'Content-Type: application/json' \
     --header 'Accept: application/json' \
     --header 'api-key: <ADMIN_API_KEY>' \
     --data '{}' 
   ```

2. Delete API key:

   ```shell
   curl --location --request DELETE 'http://localhost:8080/<merchant_id>/merchant_1708546282/invalid-api-key-id' \
     --header 'Content-Type: application/json' \
     --header 'Accept: application/json' \
     --header 'api-key:<ADMIN_API_KEY>'
   ```

In both cases, the response returned should be the same, with a 404 status code:

```json
{
  "error": {
    "type": "invalid_request",
    "message": "API Key does not exist in our records",
    "code": "HE_02"
  }
}
```

Patch:
diff --git a/crates/storage_impl/src/errors.rs b/crates/storage_impl/src/errors.rs
index 14d1eb2db63..9e3ef903f5c 100644
--- a/crates/storage_impl/src/errors.rs
+++ b/crates/storage_impl/src/errors.rs
@@ -139,6 +139,7 @@ impl StorageError {
     pub fn is_db_not_found(&self) -> bool {
         match self {
             Self::DatabaseError(err) => matches!(err.current_context(), DatabaseError::NotFound),
+            Self::ValueNotFound(_) => true,
             _ => false,
         }
     }