FS#6470 - Link graph job thread-join schedule changes
Pause the game instead of blocking when link graph jobs lag.
Check if the job is still running one date fract tick before it is due to join and if so pause the game until its done.
This avoids the main thread being blocked on a thread join, which appears to the user as if the game is unresponsive, as the UI does not repaint and cannot be interacted with.
Show if pause is due to link graph job in status bar, update network messages.
This does not apply for network clients.
2. (applies on top of 1)
Join more than one link graph job at once where possible.
This can occur when the link graph recalculation times are changed.
In particular, if the duration or interval are reduced, the new jobs
will be delayed until the completion of the previous long job,
and then remain backlogged thereafter as jobs are dequeued at the same
rate as they are queued.
This task depends upon