1dd199fa

ical-recurrence: test that a yearly BySetPos selects within the whole year

BYSETPOS is evaluated against the candidate set of the entire frequency
period.  Only afterwards are the selected instances restricted to those
at or after DTSTART.

yearlyDateTimeRecurrence has the 'next > start' guard inside the list
that filterSetPos numbers, so instances before DTSTART are dropped
before BYSETPOS is applied and later candidates slide into their
positions.  monthlyDateTimeRecurrence and weeklyDateTimeRecurrence
apply that same guard after filterSetPos; yearly is the odd one out.

For 2020 the candidate set is the 15th of January, April, July and
October, so BYSETPOS=1 selects the 15th of January, which is before
DTSTART and therefore not part of the recurrence set.  The 15th of July
must not take its place.
coverage-reportforwardCompatibilitynixpkgs-25_11pre-commitconfiguredevShelldefaultx86_64-linux