INT-3520: Add Reactor's `PersistentQueue` support

JIRA: https://jira.spring.io/browse/INT-3520
You should use a `HashWheelTimer` here with a configurable resolution. Then if you have no data to read (meaning the next available index is past where you've currently read) then you can rely on a scheduled job inside the `Timer` to check that for you. They use very few resources and you don't need to block a thread. 

But you probably should implement a generic `WaitStrategy` for things like this, as I said in my email.