OPENDJ-1441 (CR-4244) Persistent searches on external changelog do not return changes for new replicas and new domains
Follow up of r10944 (and r10912 originally).
Update ReplicaCursors with new replica offline information (For example, when replica came online or when there is more up to date replica offline information).
Renamed ReplicaOfflineCursor(Test) to ReplicaCursor(Test)
FileChangelogDB.java, JEChangelogDB.java:
Added replicaCursors Map field.
In getCursorFrom(), registered replicaCursors.
In unregisterCursor(), handled ReplicaCursors.
In notifyReplicaOnline() and notifyReplicaOffline(), called new method updateCursorsWithOfflineCSN().
ReplicaOfflineCursor.java: RENAMED to ReplicaCursor
Removed returnReplicaOfflineMsg field.
Changed replicaOfflineMsg field from ReplicaOfflineMsg to AtomicReference<ReplicaOfflineMsg>.
In next(), rewrote the code to support resetting the replica offline CSN + added isReplicaOfflineMsgOutdated() and setOfflineCSN()
Added replicaID and domainDB fields + called ReplicationDomainDB.unregisterCursor() in close() + added getReplicaID().
ReplicaOfflineCursorTest.java: RENAMED to ReplicaOfflineCursorTest
Consequence of the change to ReplicaCursor.
ChangeNumberIndexer.java:
Removed outdated TODO