Use event's denormalized ends_at column to determine upcoming/past

Previously, we used 'event_sessions.ends_at', which can potentially
choose the wrong event_session for the source of ends_at.