This adds an integration test which permutes inputs to ensure out of order renders the
same result.
This also improves the current algorithm which revealed some hit-and-miss cases:
- Initialization of the first visit detection (through the "last_snapshot" absence field,
the previous implementation check could fail otherwise).
- out of order policy (ignore old event) in case of supposedly "eventful" event was done too early
which ignored too much messages (those new test cases failed in some permutations).
- This is now specifically checked in case of referenced snapshots which led to cases of possibly
changing eventful event into uneventful one. For example, the case of an anterior eventful event is
caught which means that the current most-up-to-date eventful event is actually an uneventful one).
- ...
Related to T2967