Refactor helpers date logic for clarity

- Used the power of maths to determine `second_wednesday_of` a given month/year.
- Used recursion in `next_event_date` to keep moving date forward.