Implement multi-traveler batching in ReservationManager
This has currently been implemented in the timeline model, the trip grouping and the live data handling, duplicating this rather complex logic multiple times. The goal is to replace all that with the new code. Compared to the existing implementations, this has more fine-grained change notifications for the various corner cases, and it persists the batching, so we don't have to compute that on every startup again. This also makes further optimizations possible, like persisting the sort order of the batches, so we only need to load the reservation elements actually on the screen.
Showing with 517 additions and 31 deletions