Simplify iter_payday_events and increase its test coverage

A followup to #2572.