When null/undefined is used as the v-model value for SiteSelector, SiteSelector sets a default value. But this is not reflected in v-model since the update:modelValue event is not called, leaving the parent component's v-model value still set to undefined/null.
This PR makes sure the default value is set through update:modelValue.
It also adds a new property defaultToFirstSite
that allows defaulting the modelValue to the first site in the queried lists. This can't be done by default in case it needs to be possible to unset the value to null. (I'm not sure if that's currently possible, though.)