feat: implement trip split on duplicate with passenger removal
When a DUPLICATE action includes removedTripPointIds, split the original trip into two: Trip A (remaining passengers, original driver) and Trip B (removed passengers, no driver/non-affecté). Force cleanup of the original trip's TripDay and driver assignment gap for the duplication date via forceCleanupOriginal flag, ensuring correct Kafka synchronization with the planning service (sendTripDeleted + unassign + assign events).