- Change predicate return type from `bool` to `features list option` to
carry extracted event data (Summary, Day_start, Multi_day) alongside
match results
- Add `features` type with Generic_feature_presence, Summary, Day_start,
Multi_day variants
- Add P00 (has_summary) and P11 (override_events) predicates
- Remove large commented-out icalendar/ptime type definitions
- Refactor main.ml to group events by UID using a Map
- Add get_y_m_d_from_timedesc helper to Utils