Recaculate the amount of CPU to be used by this job before the next
I/O operation: the amount of cpu time remaining divided by the
number of I/O operations remaining, rounded up.
Read the next (or first) job description from the input file,
skipping molformed lines, and make it the current job, with
a simulated interrupt occurring at the arrival time of the job.
Convert a time-stamp from ms to time of day in the format
h:mm:ss.mmm
This used to be written more "cleanly", but it turned out to
consume a huge fraction of the entire time taken by the program,
so it was re-written to avoid allocating and concatenating Strings
until the very end.