By: Greg Pfeil <greg@technomadic.org>
Extend `CyclicCalendar` This adds two more primitive operations to `CyciicCalendar`: `cycleLength` and `ordinal`, which then allows a default implementation of `onOrBefore`. It also generalizes a number of previously `DayOfWeek`-specific operations to work for any `CyclicCalendar`.
| Time to Start | Worker time | Duration | Time to finish | Idle | |
| Config | 2s | 2s | 2s | 4s | 2s |
| Eval | 4s | 4m05s | 4m05s | 4m09s | 0s |
| Build | 1m35s | 20m50s | 4m59s | 6m35s | 0s |
| Suite | 2s | 24m58s | 6m33s | 6m35s | 2s |