Hi, first of all thank you for a great piece of software.

**Describe the bug**

PR  #15646 fixes #10417 by matching the S3 endpoint region using the following regular expression: `s3.<region>.amazonaws`. Attempting to use an S3 compatible storage engine hosted outside of AWS an authentication error due to mismatch with the default region (`us-east-1`).

**Does it reproduce on recent release?**
Reproduces on `ClickHouse server version 21.4.5.46 (official build)`

**How to reproduce?**

The following query fails:

`SELECT * from s3('https://s3.gra.cloud.ovh.net/..., 'key', 'secret', 'csv', '...') LIMIT 10`

**Expected behavior**

One potential solution would be to allow the region to be specified in the S3 disk settings (adding vendor-specific regexp patterns in  `PocoHTTPClientConfiguration::updateSchemeAndRegion` seems unrealistic).
* For example, `+` symbol will not be converted to `%2B` by Poco and would
              * be received as space symbol.
              *
              * References:
              * https://github.com/aws/aws-sdk-java/issues/1946
              * https://forums.aws.amazon.com/thread.jspa?threadID=55746
              *
              * Example:
              * Suppose we are requesting a file: abc+def.txt
              * To correctly do it, we need to construct an URL containing either:
              * - abc%2Bdef.txt
              * this is also technically correct:
              * - abc+def.txt
              * but AWS servers don't support it properly, interpreting plus character as whitespace
              * although it is in path part, not in query string.
              * e.g. this is not correct:
              * - abc%20def.txt
              *
              * Poco will keep plus character as is (which is correct) while AWS servers will treat it as whitespace, which is not what is intended.
              * To overcome this limitation, we encode URL with "Aws::Http::URI" and then pass already prepared URL to Poco.
              */
            Aws::Http::URI aws_target_uri(uri);
            poco_request.setURI(aws_target_uri.GetPath() + aws_target_uri.GetQueryString());
            switch (request.GetMethod())
            {
                case Aws::Http::HttpMethod::HTTP_GET:
                    poco_request.setMethod(Poco::Net::HTTPRequest::HTTP_GET);
                    break;
                case Aws::Http::HttpMethod::HTTP_POST:
                    poco_request.setMethod(Poco::Net::HTTPRequest::HTTP_POST);