[TEST] don't use multiple names (e.g. aliases) pointing to the same concrete index when using indexRandom

indexRandom will try to delete bogus documents multiple times since they get tracked by indexOrAlias/id, and after the actual deletion any other attempt throws error and fails the test
plugins: `bin` and `config` only plugins do not install correctly

When installing a bin only plugin, it is identified as a site plugin.

A current workaround would be to create in the zip file another empty dir. So if you have:

* `bin/myfile.sh`
* `empty/empty.txt`

the `bin` content will be extracted as expected.

Closes #7152.

(cherry picked from commit 8b497ca)
[Test] fix plugins: `bin` and `config` only plugins do not install correctly

Related to #7152.

(cherry picked from commit b72f44b)
Internal:  adjusted visibility to package private for BroadcastShardOperationRequest subclasses and their constructors

Also replaced the String,int pair for index and shard_id with ShardId object that holds the same info and serialized it the same way too.