Improve UCS connector configuration format for better type safety and usability

## Problem Statement

The current unified connector service (UCS) configuration uses an array format for specifying connectors that should use UCS only. This approach has several limitations:

### Current Issues

1. **Type Safety**: The current `Vec<String>` approach allows invalid connector names to be specified without compile-time validation
2. **Configuration Verbosity**: Array format in TOML files is more verbose and harder to read/maintain
3. **Runtime Validation**: Invalid connector names are only caught at runtime when the configuration is parsed
4. **Inconsistent Format**: Different from other comma-separated configuration patterns used elsewhere in the codebase

### Current Configuration Format
```toml
[grpc_client.unified_connector_service]
ucs_only_connectors = [
  "razorpay",
  "phonepe", 
  "paytm",
  "cashfree",
]
```

## Proposed Solution

Refactor the configuration to use a comma-separated string format with type-safe parsing:

### Benefits
- **Type Safety**: Use `HashSet<Connector>` with enum validation to prevent invalid connector names
- **Cleaner Configuration**: More concise and readable comma-separated format
- **Better Error Handling**: Custom deserializer with detailed error messages for invalid configurations
- **Consistency**: Aligns with other comma-separated configuration patterns in the codebase
- **Performance**: HashSet provides O(1) lookup time for connector validation

### Proposed Configuration Format
```toml
[grpc_client.unified_connector_service]
ucs_only_connectors = "paytm, phonepe, razorpay, cashfree"
```

## Implementation Requirements

1. **Custom Deserializer**: Implement a generic deserializer for comma-separated strings to typed HashSets
2. **Type Safety**: Use `Connector` enum instead of raw strings
3. **Backward Compatibility**: Ensure existing connector validation logic continues to work
4. **Configuration Updates**: Update all config files to use the new format
5. **Comprehensive Testing**: Add unit tests for the deserializer and configuration parsing

## Acceptance Criteria

- [x] Configuration uses comma-separated string format
- [x] Type-safe parsing with `Connector` enum validation
- [x] Custom deserializer handles edge cases (whitespace, duplicates, empty strings)
- [x] All configuration files updated consistently
- [x] Comprehensive unit tests for the deserializer
- [x] Existing connector validation logic works with new format
- [x] Detailed error messages for invalid configurations

## Labels

- Enhancement
- Configuration
- Type Safety
- Refactoring
<think>
PR Context:
- Title: refactor(config): change UCS connector list from array to comma-separated string
- Merged: 2025-08-13T15:11:30Z
- Files changed: 10 files
- Commits: 11 commits

Implementation approach:
# Refactor: Change UCS connector configuration from array to comma-separated string

## Summary

This PR refactors the unified connector service (UCS) configuration to use a comma-separated string format instead of an array for specifying connectors that should use UCS only. This change improves configuration management and parsing efficiency while maintaining type safety through a custom deserializer.

## Changes

- **Configuration Format Change**: Modified `ucs_only_connectors` from `Vec<Strin
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** refactor(config): change UCS connector list from array to comma-separated string (#8905)
Files to modify:


**crates/external_services/src/grpc_client/unified_connector_service.rs**
  Modify existing code

**crates/external_services/src/lib.rs**
  Add:
    - mod: pub::utils

**crates/external_services/src/utils.rs**
  Add:
    - function: private::deserialize_hashset_inner
    - function: pub::deserialize_hashset
    - function: private::test_deserialize_hashset_inner_success
    - function: private::test_deserialize_hashset_inner_with_whitespace
    - function: private::test_deserialize_hashset_inner_empty_string
    - function: private::test_deserialize_hashset_inner_single_value
    - function: private::test_deserialize_hashset_inner_invalid_int
    - function: private::test_deserialize_hashset_inner_duplicates
    - mod: private::tests

**crates/router/src/core/unified_connector_service.rs**
  Modify existing code