fix(sdk): Better handling of redacted and redaction events in Latest Event.
This patch revisits the way redacted and redaction events are handled in
the Latest Event.
Previously, all redacted events were considered suitable candidate. It's
no longer the case.
Only redaction event (`m.room.redaction`) are considered suitable
candidate if and only if it targets the immediate previous event, and if
and only if the previous event is itself a suitable candidate.
To achieve so, the `rfind_map_event_in_memory_by` method is revisited to
return the `&TimelineEvent` instead of the `OwnedEventId`.
The tests have been updated accordingly.