Add Vietnamese lunar calendar
This MR adds Vietnamese lunar (or rather lunisolar) calendar. While Vietnamese calendar technically is calculated the same as Chinese, it uses a different timezone: UTC+7 for Vietnam, and UTC+8 for China. This causes some discrepancies to occur, e.g. roughly every 23 years, the twos generally drifted apart by one day, and some Zodiac signs are different. AFAIK, ICU currently does not offer a way to configure the timezone for calculation.
The algorithm used is based on Hồ Ngọc Đức's work. It has been adapted to use what available in solarutils.h. While providing greater accuracy, it is (in theory) more computational expensive. Although, the timezone is hardcoded in this implementation, it technically could calculate for other timezones as well.
This does hook into ICU for formatting, which causes the translation for ganzhi to use the Chinese ones instead of Vietnamese.
References:
