feat(analytics): add `sessionized_metrics` for refunds (backwards compatibility) and `currency_conversion`

## Current Behaviour

- There is no `sessionized_metrics` module for refunds like there is for `payments` and `payment_intents`
- Update the existing metrics with `currency_conversion` usage.
## Proposed Changes

- create `sessionized_metrics` module for refunds
- implement `currency_conversion` for refunds analytics
<think>
PR Context:
- Title: feat(analytics): add `sessionized_metrics` and `currency_conversion` for refunds analytics 
- Merged: 2024-11-14T09:13:34Z
- Files changed: 17 files
- Commits: 8 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.
- Implement currency conversion for refunds analytics

### Minor unrelated changes
- refactor inconsistent naming of fields in some places => [commit](https://github.c
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** feat(analytics): add `sessionized_metrics` and `currency_conversion` for refunds analytics  (#6419)

Files to modify:


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

**crates/analytics/src/payments/accumulator.rs**
  Modify existing code

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

**crates/analytics/src/refunds/accumulator.rs**
  Modify existing code

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

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

**crates/analytics/src/refunds/metrics/refund_processed_amount.rs**
  Modify existing code

**crates/analytics/src/refunds/metrics/sessionized_metrics/mod.rs**
  Add:
    - mod: private::refund_count
    - mod: private::refund_processed_amount
    - mod: private::refund_success_count
    - mod: private::refund_success_rate

**crates/analytics/src/refunds/metrics/sessionized_metrics/refund_count.rs**
  Add:
    - function: private::load_metrics
    - struct: pub::RefundCount
    - impl: impl super::RefundMetric<T> for RefundCount

**crates/analytics/src/refunds/metrics/sessionized_metrics/refund_processed_amount.rs**
  Add:
    - function: private::load_metrics
    - struct: pub::RefundProcessedAmount
    - impl: impl super::RefundMetric<T> for RefundProcessedAmount

**crates/analytics/src/refunds/metrics/sessionized_metrics/refund_success_count.rs**
  Add:
    - function: private::load_metrics
    - struct: pub::RefundSuccessCount
    - impl: impl super::RefundMetric<T> for RefundSuccessCount

**crates/analytics/src/refunds/metrics/sessionized_metrics/refund_success_rate.rs**
  Add:
    - function: private::load_metrics
    - struct: pub::RefundSuccessRate
    - impl: impl super::RefundMetric<T> for RefundSuccessRate

**crates/api_models/src/analytics.rs**
  Add:
    - struct: pub::RefundsAnalyticsMetadata
    - struct: pub::RefundsMetricsResponse

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

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

**crates/api_models/src/events.rs**
  Add:
    - function: private::get_api_event_type
    - impl: impl ApiEventMetric for RefundsMetricsResponse<T>

**crates/router/src/analytics.rs**
  Modify existing code
{"issue_number": 6417, "pr_number": 6419, "commits_count": 1, "files_changed": 17, "response_length": 3107, "file_count": 19, "needs_breakdown": true}