calendar: Handle invalid dates
calendar: Handle invalid dates

GtkCalendar can have an invalid date — mostly at initialization. This
means that GDateTime construction may fail. We need to handle that case
gracefully, like the old code did.

This fixes the `notify` test suite, which started failing with:

/Notification/GtkCalendar:
GLib-CRITICAL **: g_date_time_get_day_of_week: assertion 'datetime != NULL' failed

inside the Continuous builder.

alexlarsson/gtk,jadahl/gtk,Lyude/gtk-,davidgumberg/gtk,chergert/gtk,davidgumberg/gtk,chergert/gtk,Lyude/gtk-,jigpu/gtk,chergert/gtk,davidgumberg/gtk,alexlarsson/gtk,jigpu/gtk,alexlarsson/gtk,grubersjoe/adwaita,Lyude/gtk-,jigpu/gtk,jadahl/gtk,Adamovskiy/gtk,chergert/gtk,alexlarsson/gtk,Adamovskiy/gtk,alexlarsson/gtk,ahodesuka/gtk,alexlarsson/gtk,Adamovskiy/gtk,Adamovskiy/gtk,ahodesuka/gtk,Adamovskiy/gtk,davidgumberg/gtk,jadahl/gtk,davidgumberg/gtk,ahodesuka/gtk,davidgumberg/gtk,davidgumberg/gtk,jadahl/gtk,chergert/gtk,davidgumberg/gtk,grubersjoe/adwaita,grubersjoe/adwaita,grubersjoe/adwaita,Lyude/gtk-,Lyude/gtk-,Lyude/gtk-,chergert/gtk,jigpu/gtk,jigpu/gtk,jigpu/gtk,jigpu/gtk,grubersjoe/adwaita,Adamovskiy/gtk,grubersjoe/adwaita,alexlarsson/gtk,jigpu/gtk,ahodesuka/gtk,grubersjoe/adwaita,Adamovskiy/gtk,grubersjoe/adwaita,alexlarsson/gtk,Adamovskiy/gtk,Lyude/gtk-,ahodesuka/gtk,jadahl/gtk,jadahl/gtk,jadahl/gtk,chergert/gtk,ahodesuka/gtk,jadahl/gtk,Lyude/gtk-,chergert/gtk,ahodesuka/gtk,ahodesuka/gtk