Refactored TransportIndexReplicationOperationAction to be able to expose the shard id related to a shard failure

The `ShardOperationFailedException` is now created within `TransportIndexReplicationAction` passing in the current shard id as a constructor argument.
Also replaced `AtomicReferenceArray<Object>` with `AtomicReferenceArray<ShardActionResult>`, where `ShardActionResult` wraps the `ShardResponse` or the failure, containing all the needed info.
Minor cleanups.
Class name typo.
Add failures reason to delete by query response

Closes #5093
Expose delete by query shard failures follow-up

- Removed if conditions on index name and shard_id
- Added REST test
[TEST] removed REST test that checks for delete by query shard failures

The clients return an exception in case of failure and not the whole json response containing failures, thus this tests can only work with the Java REST tests runner
[DOCS]: fixed small problem in example json