[FEATURE] Kv Redis feature for V2 models

### Feature Description

Extend kv support for v2 models 

### Possible Implementation

Use existing construct to extend to v2 models

### Have you spent some time checking if this feature request 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!
<think>
PR Context:
- Title: feat: Kv changes for V2 feature
- Merged: 2025-06-26T14:22:59Z
- Files changed: 15 files
- Commits: 26 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

#8389
- Added Kv Redis support to - payment_intent V2, payment_attempt V2 models
- Added enable Kv route for v2 merchant-account

added enable kv api for v2 merchant account

`
curl --location 'https://<host>/v2/merchant-accounts/:mid/kv' \
--header 'Authorization: admin-api
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** feat: Kv changes for V2 feature (#8198)
Co-authored-by: Akshay S <akshay.s@juspay.in>
Co-authored-by
Files to modify:


**crates/diesel_models/src/kv.rs**
  Add:
    - struct: pub::PaymentAttemptUpdateMems

**crates/diesel_models/src/payment_attempt.rs**
  Add:
    - function: pub::apply_changeset
    - impl: impl PaymentAttemptUpdateInternal

**crates/diesel_models/src/payment_intent.rs**
  Add:
    - function: pub::apply_changeset
    - impl: impl PaymentIntentUpdateInternal

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

**crates/router/src/routes/admin.rs**
  Add:
    - function: pub::merchant_account_toggle_kv
    - function: pub::merchant_account_kv_status

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

**crates/router/src/routes/dummy_connector.rs**
  Modify existing code

**crates/router/src/routes/dummy_connector/core.rs**
  Modify existing code

**crates/storage_impl/src/customers.rs**
  Add:
    - function: pub::get_global_id_label
    - function: pub::get_merchant_scoped_id_label
    - mod: private::label

**crates/storage_impl/src/lib.rs**
  Add:
    - function: private::unique_constraints
    - function: private::table_name
    - impl: impl UniqueConstraints for diesel_models::PaymentAttempt

**crates/storage_impl/src/payments/payment_attempt.rs**
  Add:
    - function: pub::get_profile_id_connector_transaction_label
    - function: pub::get_global_id_label
    - mod: private::label

**crates/storage_impl/src/payments/payment_intent.rs**
  Modify existing code

**crates/storage_impl/src/redis/kv_store.rs**
  Modify existing code
{"issue_number": 8389, "pr_number": 8198, "commits_count": 1, "files_changed": 15, "response_length": 2397, "file_count": 15, "needs_breakdown": false}