Ehoogerbeets

Updated for iLib, and added many new rows for various i18n features. Other libraries slots need to be updated to put the check marks for all these new features.
Multiple calendars support applies to the date subclasses as well as the formatters. 

For example, if you want to convert the date of Rosh Hashannah (Jewish new year) for a particular Hebrew year into the corresponding date in the Gregorian year, you cannot do that with just a date formatter. You need date objects in various calendars to calculate it. To do it, you first get the currrent Hebrew year by creating a new Hebrew date object with no params which gets "today" in that calendar. Then, create another Hebrew date object using that year, but use day 1 of month Tishri, which is the first day of the Jewish new year. Then, get the julian day representation of that Hebrew date. Then, create a new Gregorian date instance with that julian day as its initializer, and now you have the Gregorian date of Rosh Hashannah. Optionally, you have to worry about time zones in all of this, as the date in Brazil at a particular instant may be different than the date at the same instant in Australia.

Date formatting needs support as well, as date formats for a particular locale in other calendars are possibly different than formatting dates for that same locale with the Gregorian calendar. At the very least, the names of the weekdays and the months are different. For some locales, the formats for "native calendar dates" are different than the formatting used for the Gregorian calendar dates.