An unterminated component read on to the *next* event's END, so both events'
properties landed in one body and the later ones overwrote the earlier — one
event silently became the other. It now stops at the next BEGIN:VEVENT or
BEGIN:VTODO; a nested VALARM is still body, not a boundary.
Tests cover both shapes: two events where the first has no END, and a file
truncated mid-property, which still salvages the event it had started.