Participants can be of multiple types (e.g. agent and terminal), therefore the participant
type must be stored in the times data record in order to assign times correctly during
display and to differentiate in calculation.
While doing so, I have also refactored the shipcall processing logic in the main window.
All changes now go through the filter and sorting stage before all controls are removed
and only the controls matching to the sorted list are added to the stack panel.