Rework EventViews to support per-collection calendars
This change reworks all event views to support displaying incidences from
multiple calendar instances (CollectionCalendars, based on KCalendarCore::Calendar),
specifically having one calendar per Akonadi Collection. The previous approach
of merging contents of all calendar-like Akonadi Collections into a single huge
KCalendarCore::Calendar (via ETMCalendar) was causing a long-outstanding issue
when if the same incidence with the same UID was present in multiple Collections,
only one (rather random) instance would appear in the ETMCalendar.
This approach is also semantically more correct, since if a single Akonadi Collection
represents a single user's calendar, than it should be mapped into a single
KCalendarCore::Calendar.
If there's interest, this change paves the way for future enhancements, including making EventViews Akonadi-agnostic and thus better reusable.
Note that this change breaks API in an incompatible way, since supporting both single
ETMCalendar and multiple per-collection calendars as alternative data sources would
make the code needlessly complicated. From a quick check, the EventViews library is
currently only used in KOrganizer.