Issue:
[FEATURE]: [Noon] Implement Revoke Mandate

### Feature Description

When revoke mandate api is triggered, revoke the existing connector mandate with noon also

### Possible Implementation

Implement Revoke Mandate for Noon

### 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!

Resolution:
<think>
PR Context:
- Title: feat(connector): [noon] add revoke mandate
- Merged: 2024-01-30T12:10:04Z
- Files changed: 3 files
- Commits: 3 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [X] New feature
- [ ] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
<!-- Describe your changes in detail -->
Implement revoke mandate flow for Noon

### Additional Changes

- [ ] This PR modifies the API contract
- [ ] This PR modifies the database schema
- [ ] This PR modifies application configuration/environment variables

<!--
Provide li
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** feat(connector): [noon] add revoke mandate (#3487)
Files to modify:


**crates/router/src/connector/noon.rs**
  Add:
    - function: private::get_headers
    - function: private::get_content_type
    - function: private::get_url
    - function: private::build_request
    - function: private::get_request_body
    - function: private::handle_response
    - function: private::get_error_response
    - impl: impl api::ConnectorMandateRevoke for Noon
    - impl: impl ConnectorIntegration<
        api::MandateRevoke,
        types::MandateRevokeRequestData,
        types::MandateRevokeResponseData,
    > for Noon

**crates/router/src/connector/noon/transformers.rs**
  Remove:
    - struct: pub::NoonSubscriptionResponse
  Add:
    - function: private::try_from
    - function: private::try_from
    - struct: pub::NoonSubscriptionObject
    - struct: pub::NoonCancelSubscriptionObject
    - struct: pub::NoonRevokeMandateResult
    - struct: pub::NoonRevokeMandateResponse
    - enum: pub::NoonRevokeStatus
    - impl: impl TryFrom<&types::MandateRevokeRouterData> for NoonRevokeMandateRequest
    - impl: impl TryFrom<
        types::ResponseRouterData<
            F,
            NoonRevokeMandateResponse,
            types::MandateRevokeRequestData,
            types::MandateRevokeResponseData,
        >,
    > for types::RouterData<F, types::MandateRevokeRequestData, types::MandateRevokeResponseData>

**crates/router/src/core/payments/flows.rs**
  Modify existing code