Coming from #4278, ReplicationTarget and ReplicationListener accept OpenSearchException in their failure methods. This should be narrowed to a replication specific exception type that is used in failures from recovery / replication. Recovery already has a RecoveryFailedException, we can similarly create a ReplicationFailedException to use in the superclass.