Handle preempted jobs and add test program

Preempted jobs have multiple cluster_job_table entries, one for each time the job was run. We consider job walltime to be the sum of the walltime of each run.