Refactored the logic that looks for next collection date. The checks were nested one in another, and with the different offsets that could potentially move the date in any direction, it was hard to calculate the next date reliably. They are now called from one place, the logic has been simplified. So it should be easier to troubleshoot if nothing else.
But the new logic has to be validated - testers are welcome. Please report any issues (or confirm that all works fine) in #221. Thanks!