feat(analytics): add `sessionized_metrics` for disputes (backwards compatibility)

## Current Behaviour

- There is no `sessionized_metrics` module for disputes like there is for `payments` and `payment_intents`

## Proposed Changes

- create `sessionized_metrics` module for disputes

<think>
PR Context:
- Title: feat(analytics): add `sessionized_metrics` for disputes analytics
- Merged: 2024-11-26T13:58:33Z
- Files changed: 13 files
- Commits: 6 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [x] New feature
- [x] Enhancement
- [x] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
<!-- Describe your changes in detail -->
- Add sessionized metrics module and implement backwards compatibility.
- Add the `sessionizer_dispute` table support for Sessionized metrics.
### Fixes #6572 
### Additional Changes

- [ ] This PR modifies the API contract
- [ ] This PR
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** feat(analytics): add `sessionized_metrics` for disputes analytics (#6573)
Co-authored-by: hyperswitc
Files to modify:


**crates/analytics/src/clickhouse.rs**
  Modify existing code

**crates/analytics/src/disputes/accumulators.rs**
  Modify existing code

**crates/analytics/src/disputes/core.rs**
  Modify existing code

**crates/analytics/src/disputes/metrics.rs**
  Add:
    - mod: private::sessionized_metrics

**crates/analytics/src/disputes/metrics/sessionized_metrics/dispute_status_metric.rs**
  Add:
    - function: private::load_metrics
    - struct: pub::DisputeStatusMetric
    - impl: impl super::DisputeMetric<T> for DisputeStatusMetric

**crates/analytics/src/disputes/metrics/sessionized_metrics/mod.rs**
  Add:
    - mod: private::dispute_status_metric
    - mod: private::total_amount_disputed
    - mod: private::total_dispute_lost_amount

**crates/analytics/src/disputes/metrics/sessionized_metrics/total_amount_disputed.rs**
  Add:
    - function: private::load_metrics
    - struct: pub::TotalAmountDisputed
    - impl: impl super::DisputeMetric<T> for TotalAmountDisputed

**crates/analytics/src/disputes/metrics/sessionized_metrics/total_dispute_lost_amount.rs**
  Add:
    - function: private::load_metrics
    - struct: pub::TotalDisputeLostAmount
    - impl: impl super::DisputeMetric<T> for TotalDisputeLostAmount

**crates/analytics/src/sqlx.rs**
  Modify existing code

**crates/analytics/src/types.rs**
  Modify existing code

**crates/api_models/src/analytics.rs**
  Add:
    - struct: pub::DisputesAnalyticsMetadata
    - struct: pub::DisputesMetricsResponse

**crates/api_models/src/analytics/disputes.rs**
  Modify existing code

**crates/api_models/src/events.rs**
  Add:
    - function: private::get_api_event_type
    - impl: impl ApiEventMetric for DisputesMetricsResponse<T>
{"issue_number": 6572, "pr_number": 6573, "commits_count": 1, "files_changed": 13, "response_length": 2614, "file_count": 15, "needs_breakdown": false}