Currently we only support adding an endpoint suffix for azure repositories. This is not enough when a custom Azure DNS  zone is used since the URI that's created using an endpoint suffix is incorrect.
```java
primaryUri = new URI(protocol + "://" + accountName + "." + service + "." + endpointSuffix);
``` 

We should add the ability to provide a custom endpoint to cover this situations.
modules/repository-azure/src/test/java/org/elasticsearch/repositories/azure/AzureStorageServiceTests.java
.put("azure.client.azure1.timeout", "200ms")
            .build();
        try (AzureRepositoryPlugin plugin = pluginWithSettingsValidation(settings)) {
            final AzureStorageService azureStorageService = plugin.azureStoreService.get();
            AzureStorageSettings azureStorageSettings = azureStorageService.storageSettings.get("azure1");
            RequestRetryOptions retryOptions = azureStorageService.getRetryOptions(LocationMode.PRIMARY_ONLY, azureStorageSettings);
            assertThat(retryOptions.getTryTimeout(), equalTo(1));
        }
    }
    public void testTimeoutConfiguration() throws Exception {
        final Settings settings = Settings.builder()
            .setSecureSettings(buildSecureSettings())
            .put("azure.client.azure1.timeout", "200s")
            .build();
        try (AzureRepositoryPlugin plugin = pluginWithSettingsValidation(settings)) {
            final AzureStorageService azureStorageService = plugin.azureStoreService.get();
            AzureStorageSettings azureStorageSettings = azureStorageService.storageSettings.get("azure1");
            RequestRetryOptions retryOptions = azureStorageService.getRetryOptions(LocationMode.PRIMARY_ONLY, azureStorageSettings);
            assertThat(retryOptions.getTryTimeout(), equalTo(200));
        }
    }
    public void testRetryConfigurationForSecondaryFallbackLocationMode1() throws Exception {
        testRetryConfigurationForSecondaryFallbackLocationModeImpl(true);
    }
    public void testRetryConfigurationForSecondaryFallbackLocationMode2() throws Exception {
        testRetryConfigurationForSecondaryFallbackLocationModeImpl(false);
    }
    public void testRetryConfigurationForSecondaryFallbackLocationModeImpl(boolean endpointSetting) throws Exception {
        final String endpoint;
        if (endpointSetting) {