kcalendarsystem: Fix lengthOfWeek to 7

All calendar systems supported by KCalendarSystem have 7 days per week,
so simplify some code by centralizing that figgure.

REVIEW: 107687
kcalendarsystem: Simplify the dayOfWeek() implementation.

Day of week is the same for a given julian day number regardless of calendar system used.

REVIEW: 107688
kcalendarsystem: Simplify week() and weeksInYear() implementations

These only depend on the week system (i.e. KLocale::WeekNumberSystem) and firstDayOfYear(), and thus need not be (d-pointer) virtual.

REVIEW: 107690
kcalendarsystem: Move most week related code out ouf the way of regular calendar system code.

This commit changes no code whatsoever, it only moves it around a bit so the rest becomes more manageable.
kcalendarsystem: Simplify weekday naming a lot.

Weekday names depend on *lanuage*, not calendar system. The usual ki18nc
can handle it just fine, so consolidate it all to a single function.

REVIEW: 107696
kcalendarsystem: Make monthName() a simple virtual function.
kcalendarsystem: The Gregorian calendar uses Julian month names, no need for the translators to translate them twice.
kcalendarsystem: Move the *::monthName(...) methods to the end of their respective files

This makes the rest of the file somewhat easier to navigate.