Fixing JEChangeNumberIndexDBTest random tests.
JE was throwing exception when the thread accessing it had been interrupted which happens frequently on single core machines.
The solution is to replace the use of Thread.sleep(long) + Thread.interrupt() with Object.wait(long) + Object.notify() on thread shutdown.
JEChangelogDB.java:
Replaces the use of Thread.sleep(long) + Thread.interrupt() with Object.wait(long) + Object.notify() on thread shutdown.
Created method jeFriendlySleep(long) to emulate Thread.sleep(long).
ReplicationServer.java:
Code cleanup.
Changed shutdown field from boolean to AtomicBoolean.
Added final keyword to fields.
Reduced visibility of waitConnections() from public to default.
In shutdown(), used StaticUtils.close().