refactor: add support for extending file storage to other schemes and provide a runtime flag for the same (#3348)

Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
Files to modify:


**file_storage.rs**
  Add:
    - function: pub::validate
    - function: pub::get_file_storage_client
    - function: private::fmt
    - struct: pub::InvalidFileStorageConfig
    - enum: pub::FileStorageConfig
    - enum: pub::FileStorageError
    - trait: pub::FileStorageInterface
    - impl: impl FileStorageConfig
    - impl: impl std::error::Error for InvalidFileStorageConfig
    - impl: impl Display for InvalidFileStorageConfig
    - mod: private::aws_s3
    - mod: private::file_system

**aws_s3.rs**
  Add:
    - function: pub::validate
    - function: pub::new
    - function: private::upload_file
    - function: private::delete_file
    - function: private::retrieve_file
    - function: private::upload_file
    - function: private::delete_file
    - function: private::retrieve_file
    - struct: pub::AwsFileStorageConfig
    - struct: pub::AwsFileStorageClient
    - enum: private::AwsS3StorageError
    - impl: impl AwsFileStorageConfig
    - impl: impl AwsFileStorageClient
    - impl: impl FileStorageInterface for AwsFileStorageClient

**file_system.rs**
  Add:
    - function: private::get_file_path
    - function: private::upload_file
    - function: private::delete_file
    - function: private::retrieve_file
    - function: private::upload_file
    - function: private::delete_file
    - function: private::retrieve_file
    - struct: pub::FileSystem
    - enum: private::FileSystemStorageError
    - impl: impl FileSystem
    - impl: impl FileStorageInterface for FileSystem

**lib.rs**
  Add:
    - mod: pub::file_storage

**settings.rs**
  Remove:
    - struct: pub::FileUploadConfig

**validations.rs**
  Remove:
    - function: pub::validate
    - impl: impl super::settings::FileUploadConfig

**files.rs**
  Remove:
    - mod: pub::s3_utils
    - mod: pub::fs_utils

**fs_utils.rs**
  Remove:
    - function: pub::get_file_path
    - function: pub::save_file_to_fs
    - function: pub::delete_file_from_fs
    - function: pub::retrieve_file_from_fs

**helpers.rs**
  Remove:
    - function: pub::upload_file
    - function: pub::delete_file
    - function: pub::retrieve_file

**s3_utils.rs**
  Remove:
    - function: private::get_aws_client
    - function: pub::upload_file_to_s3
    - function: pub::delete_file_from_s3
    - function: pub::retrieve_file_from_s3

**app.rs**
  Modify existing code