Core: DiskThresholdDecider#remain(...) should take shards relocating away into account

Let the disk threshold decider take into account shards moving away from a node in order to determine if a shard can remain.

By taking this into account we can prevent that we move too many shards away than is necessary.

PR for #8538
Can you add a `strategy.reroute` call in this test at the end to ensure that the cluster rerouting does the right thing with regard to one of the shards? (marking it as RELOCATING and **not** relocating the other shard because it's taking the relocation into account)