CPU usage is misreported.

Currently "0 CPU" means "no CPU metric received in the previous ProfileEvents packet". But there can be many ProfileEvents packets and only a few with CPU increment.

That's why the CPU metric shows something weird like:
```
0
0
0
0
0
1234
0
0
0
...
```

This is unbearable, and the CPU metric should be either fixed or removed altogether.
{
    std::lock_guard lock(profile_events_mutex);
    double res = 0;
    for (const auto & elem : host_cpu_usage)
        res += elem.second;
    return res;
}
ProgressIndication::MemoryUsage ProgressIndication::getMemoryUsage() const
{
    std::lock_guard lock(profile_events_mutex);
    return std::accumulate(thread_data.cbegin(), thread_data.cend(), MemoryUsage{},
        [](MemoryUsage const & acc, auto const & host_data)
        {
            UInt64 host_usage = 0;
            
            
            
            if (auto it = host_data.second.find(ALL_THREADS); it != host_data.second.end())
                host_usage = it->second.memory_usage;
            return MemoryUsage{.total = acc.total + host_usage, .max = std::max(acc.max, host_usage)};
        });
}
void ProgressIndication::writeFinalProgress()