Issue:
[FEATURE] Allow rotating and revoking API keys

### Feature Description

As of now, the `merchant_account` table has an `api_key` field which restricts a merchant account to only have one API key. Furthermore, there are no mechanisms in place to revoke and regenerate API keys. To improve the convenience of rotating and revoking API keys, it'd be better to allow multiple API keys to be associated with a merchant account. Furthermore, API keys are stored in plaintext as of now. It'd be great if they could be hashed as well, when this request is addressed.

### Possible Implementation

A possible approach to address this is to add an `api_keys` table with `name`, `merchant_id`, `hashed_key` fields (including any additional fields as necessary). And for the API interface, this could include endpoints to create, retrieve, update and revoke an API key, and an endpoint to list all API keys associated with the current merchant account.

### Have you spent some time to check if this feature request has been raised before?

- [X] I checked and didn't find 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!

Resolution:
<think>
PR Context:
- Title: fix(storage_models): fix inconsistent field order for merchant account types
- Merged: 2023-02-06T12:50:25Z
- Files changed: 2 files
- Commits: 2 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [x] Bugfix
- [ ] New feature
- [ ] Enhancement
- [ ] Refactoring
- [ ] Dependency updates

## Description
<!-- Describe your changes in detail -->
This PR fixes inconsistent field order for merchant account types as compared to the generated `schema.rs` file when the `diesel migration run` command is run on a fresh clone of the repository.

## Motivation and Context
<!--
Why is this change required? What problem does
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** fix(storage_models): fix inconsistent field order for merchant account types (#503)
Files to modify:


**crates/storage_models/src/merchant_account.rs**
  Modify existing code

**crates/storage_models/src/schema.rs**
  Modify existing code

**Commit 2:** fix(storage_models): fix inconsistent field order for merchant account types (#503)
Files to modify:


**crates/storage_models/src/merchant_account.rs**
  Modify existing code

**crates/storage_models/src/schema.rs**
  Modify existing code