### Description

It should be enough to have ShardId + nodeId key in `routingToDataPath` to find the necessary data path. 
Changing the key would allow us to minimize the size of ClusterInfo size and find the data path when shard changes its status.

`ClusterInfo` might be sent over the wire when cluster allocation explain is executed with `includeDiskInfo=true`.
ShardRouting -> ShardId + nodeId conversion is trivial. The oposit would require additional information that could be faked.

Current key is also used in here:
https://github.com/elastic/elasticsearch/blob/9ebbe1c62bf0157d332f20f392544a1921a710df/server/src/main/java/org/elasticsearch/cluster/ClusterInfo.java#L149-L154
where it produces a string with ShardRouting#shortSummary that is excessive and might be simplified to ShardId + nodeId as well
server/src/main/java/org/elasticsearch/cluster/routing/allocation/decider/DiskThresholdDecider.java
import org.elasticsearch.cluster.routing.RoutingTable;
import org.elasticsearch.cluster.routing.ShardRouting;
import org.elasticsearch.cluster.routing.allocation.DiskThresholdSettings;
import org.elasticsearch.cluster.routing.allocation.RoutingAllocation;
import org.elasticsearch.common.Strings;
import org.elasticsearch.common.settings.ClusterSettings;
import org.elasticsearch.common.settings.Setting;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.settings.SettingsException;
import org.elasticsearch.common.unit.ByteSizeValue;
import org.elasticsearch.index.Index;
import org.elasticsearch.index.shard.ShardId;
import org.elasticsearch.snapshots.SnapshotShardSizeInfo;
import java.util.Map;
import java.util.Set;
/**
 * The {@link DiskThresholdDecider} checks that the node a shard is potentially
 * being allocated to has enough disk space.
 *
 * It has the following configurable settings, all of which can be changed dynamically:
 *
 * <code>cluster.routing.allocation.disk.watermark.low</code> is the low disk
 * watermark. New shards will not allocated to a node with usage higher than this,
 * although this watermark may be passed by allocating a shard. It defaults to
 * 0.85 (85.0%).
 *
 * <code>cluster.routing.allocation.disk.watermark.low.max_headroom</code> is the
 * max headroom for the low watermark. Defaults to 200GB when the low watermark
 * is not explicitly set. This caps the amount of free space required.
 *