Issue:
[Feature] Add tenant-ID as a field to all KafkaStore events

### Context
In-order to support multi-tenancy we need to store data partioned via tenant-id.
In order to do that for kafka events we need to pass tenant-id as a field in the generated kafka events

We can use the KafkaStore field added in #4512 to add them to events in Kafka


### Approach
1. Add a new field in `KafkaEvent` struct representing tenant_id

```rust
#[derive(serde::Serialize, Debug)]
struct KafkaEvent<'a, T: KafkaMessage> {
    #[serde(flatten)]
    event: &'a T,
    sign_flag: i32,
    tenant_id: TenantID
}
```

Alternate approaches can be discussed in the issue

Resolution:
<think>
PR Context:
- Title: refactor(db): Add TenantID field to KafkaEvent struct
- Merged: 2024-05-15T11:10:32Z
- Files changed: 2 files
- Commits: 4 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->
#4595 

- [ ] Bugfix
- [x] New feature
- [ ] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
<!-- Describe your changes in detail -->
- Add TenantID to the KafkaEvent struct and add the extra param to the KafkaEvent constructor
- Made changes to the required placed 


### Additional Changes

- [ ] This PR modifies the API contract
- [ ] This PR modifies the da
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** refactor(db): Add TenantID field to KafkaEvent struct (#4598)
Co-authored-by: Sampras Lopes <sampras
Files to modify:


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

**crates/router/src/services/kafka.rs**
  Modify existing code