GtkCalendar: Avoid ending up with invalid dates
Check the result of each GDateTime constructor.
calendar_set_{month, year}_{next, previous}() are pseudo-constructor. They report success or failure.
calendar_select_day_internal(), the essential function, checks its arguments.
Closes #6406