[#1273] Fix expected CSN list race in HistoricalCsnOrderingTest (#1274)
Fixes #1273.
`aRecoveryASessionWhichStartedMeanwhileNeedsIsNotEnded` compared the
changelog with an expected CSN list while the publisher hook could still
append to it. This could throw `ConcurrentModificationException` in
AssertJ or accept the initial one-change list before the second change
was recorded.
Wait up to 30 seconds for the hook to record the second CSN, then
compare against a stable snapshot of the complete list. The latch
establishes visibility between the publisher and test threads; the
bounded retry for changelog convergence remains.
Validation: Java 11, reactor `verify -Pprecommit -pl
opendj-server-legacy -am` with `-Dit.test=HistoricalCsnOrderingTest`: 70
tests passed, no failures, errors, or skips. `git diff --check` passed.