IDEA: If I don't use bi-monthly periods, I don't need ice_cube, Schedule or RuleFactory. Might work
use ice_cube recurring dates after all. Default weekly cycles to start_date day of the week. Start monthly/bi-monthly cycles on first day of the month. Start year on first day of year (TODO: validate that start_date is first day of the year for 'yearly' periods).