Today in a few places we create a `new CountDown(0)`. This is kind of trappy because it will never return `true` from `#countDown()` or `#fastForward()` which risks never completing whatever action needs completing unless the caller handles the empty case specially.

We should refactor the places that do this so that they all avoid creating an empty `CountDown`, instead just handling the fact that the action is already complete:

- [ ] `TransportIndicesShardStoresAction$AsyncShardStoresInfoFetches`
- [ ] `ClearScrollController`
- [ ] `TransportBroadcastReplicationAction#doExecute`
- [ ] `Realms#usageStats`

Once we've done that, we can forbid the creation of an empty `CountDown`.
server/src/main/java/org/elasticsearch/action/admin/indices/shards/IndicesShardStoresResponse.java
* The allocationStatus status of the store.
         * {@link AllocationStatus#PRIMARY} indicates a primary shard copy
         * {@link AllocationStatus#REPLICA} indicates a replica shard copy
         * {@link AllocationStatus#UNUSED} indicates an unused shard copy
         */
        public AllocationStatus getAllocationStatus() {
            return allocationStatus;
        }
        @Override
        public void writeTo(StreamOutput out) throws IOException {
            node.writeTo(out);
            out.writeOptionalString(allocationId);
            allocationStatus.writeTo(out);
            if (storeException != null) {
                out.writeBoolean(true);
                out.writeException(storeException);
            } else {
                out.writeBoolean(false);
            }
        }
        @Override
        public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
            node.toXContent(builder, params);
            if (allocationId != null) {
                builder.field(Fields.ALLOCATION_ID, allocationId);
            }
            builder.field(Fields.ALLOCATED, allocationStatus.value());
            if (storeException != null) {
                builder.startObject(Fields.STORE_EXCEPTION);
                ElasticsearchException.generateThrowableXContent(builder, params, storeException);