The test case Bug_32039#testBug() randomly fails because
* AbstractJobTest#waitForCompletion() is can succeed even if the job is
not complete and
* Bug_32039#testBug() does not ensure a proper execution order of rule
acquisitions
This change fixes the waitForCompletion() method in terms of enforcing a
Duration instead of an integer to be passed as a timeout to avoid faulty
units and in terms of really throwing an exception of the job does not
complete (in time). It also ensures that the rule acquisition in the
Bug_32039#testBug() method always happens in the same order.
Since the correction of waitForCompletion() reveals that
IJobManagerTest#testBug57656() and IJobManagerTest#testScheduleRace()
contained bugs that made the test rely on waitForCompletion() not
working properly, they are fixed as well by correcting the job execution
times and terminate conditions.
Fixes https://github.com/eclipse-platform/eclipse.platform/issues/1115