**Describe the issue**
In the latest version (22.2.2.1) clickhouse-client ignores `port` parameter from config file.
 
**How to reproduce**
Create `config.xml` with arbitrary value for `port` parameter. 
```
<config>
    <port>9001</port>
</config>
```

Run `clickhouse-client` with custom config file
```
# clickhouse-client --log-level trace -c config.xml
Processing configuration file 'config.xml'.
ClickHouse client version 22.2.2.1.
Connecting to localhost:9000 as user default.
Connecting. Database: (not specified). User: default. Uncompressed
Code: 210. DB::NetException: Connection refused (localhost:9000). (NETWORK_ERROR)

Uninitializing subsystem: Logging Subsystem
```

The output indicates that it's used default port value (9000) instead of the value from config file (9001). 

HostAndPort{host_and_port_options["host"].as<std::string>(), host_and_port_options["port"].as<UInt16>()});
        }
    }
    send_external_tables = true;
    shared_context = Context::createShared();
    global_context = Context::createGlobal(shared_context.get());
    global_context->makeGlobalContext();
    global_context->setApplicationType(Context::ApplicationType::CLIENT);
    global_context->setSettings(cmd_settings);
    //
    //
    for (const auto & setting : global_context->getSettingsRef().all())
    {
        const auto & name = setting.getName();
        if (options.count(name))
            config().setString(name, options[name].as<String>());
    }
    if (options.count("config-file") && options.count("config"))
        throw Exception("Two or more configuration files referenced in arguments", ErrorCodes::BAD_ARGUMENTS);
    if (options.count("config"))
        config().setString("config-file", options["config"].as<std::string>());
    if (options.count("interleave-queries-file"))
        interleave_queries_files = options["interleave-queries-file"].as<std::vector<std::string>>();
    if (options.count("secure"))
        config().setBool("secure", true);
    if (options.count("user") && !options["user"].defaulted())
        config().setString("user", options["user"].as<std::string>());
    if (options.count("password"))
        config().setString("password", options["password"].as<std::string>());
    if (options.count("ask-password"))