Issue:
[REFACTOR] Make the function to deserialize hashsets more generic when deserializing application configs

### Description

As of opening this issue, there are multiple functions to deserialize hashsets with similar logic. These functions can be made generic, and reduced to one common function for deserializing all types.

Links to relevant functions:

1. https://github.com/juspay/hyperswitch/blob/0e4e18441d024b7d669b27d6f8a2feb3eccedb2a/crates/router/src/configs/settings.rs#L215-L242

2. https://github.com/juspay/hyperswitch/blob/0e4e18441d024b7d669b27d6f8a2feb3eccedb2a/crates/router/src/configs/settings.rs#L327-L355

3. https://github.com/juspay/hyperswitch/blob/0e4e18441d024b7d669b27d6f8a2feb3eccedb2a/crates/router/src/configs/settings.rs#L419-L469

4. https://github.com/juspay/hyperswitch/blob/0e4e18441d024b7d669b27d6f8a2feb3eccedb2a/crates/router/src/configs/settings.rs#L759-L772

In addition, the existing functions ignore any deserialization errors in case incorrect or unrecognized enum variants are provided, which causes the application to completely ignore those configuration entries. This would also have to be handled, to raise errors in case incorrect values are provided.

Resolution:
<think>
PR Context:
- Title: refactor(settings): make the function to deserialize hashsets more generic
- Merged: 2024-01-30T09:19:15Z
- Files changed: 13 files
- Commits: 30 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [ ] New feature
- [ ] Enhancement
- [x] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
<!-- Describe your changes in detail -->
This PR updates the application configuration deserialization logic to use a common generic function to deserialize `HashSet<T>` instead of specific ones. In addition, this PR updates the function to be more lenient in that it allows spaces ar
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** refactor(settings): make the function to deserialize hashsets more generic (#3104)
Files to modify:


**crates/common_enums/src/enums.rs**
  Modify existing code

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

**crates/kgraph_utils/src/transformers.rs**
  Modify existing code

**crates/router/src/configs/settings.rs**
  Remove:
    - function: private::connector_deser
    - function: private::payout_connector_deser
    - function: private::pm_deser
    - function: private::pm_type_deser
    - function: private::string_set_deser
    - function: private::currency_set_deser
    - function: private::bank_vec_deser
    - function: private::deser_to_get_connectors
    - function: private::test_pm_deserializer
    - mod: private::payment_method_deserialization_test
  Add:
    - function: private::deserialize_hashset_inner
    - function: private::deserialize_hashset
    - function: private::deserialize_optional_hashset
    - function: private::test_payment_method_hashset_deserializer
    - function: private::test_payment_method_hashset_deserializer_with_spaces
    - function: private::test_payment_method_hashset_deserializer_error
    - mod: private::hashset_deserialization_test