Fix #17879: improve logic that determine when to deliver data
The logic in vtkPVDataDeliveryManager that would result in deciding
which representation delivered data that the potential to miss
representation that produced empty data under special cases.
This was because vtkPVDataDeliveryManager was depending on data's MTime
which doesn't always change when vtkPVDataRepresentation::RequestData
is executed. Fixed that using a more robust
vtkDemandDrivenPipeline::DataTime
instead.
Also added a test for the same.