Cleaned up year-day (yd) handling so that it never goes below 1.
Instead be careful to use either year (y) or week-year (wy) depending
Fixed inconsistent range handling in year() and years() that made them
almost but not quite zero-based. Now they are one-based just like
day()/days(), month()/months() etc.
Cleaned up conversion between weeks and years: E.g. if a week has days
in two years then converting it to years will produce a range of both
years. The attempt to always map a week to a single year is gone since
it's inconsistent with how other overlapping time ranges are handled.
If the user wants to convert a week to the year it "unambiguously"
belongs to, (s)he can do Calendar.ISO.Year(week->year_no()).
Needless to say much of this is incompatible. Compat goo exists for
Also fixed some types.