Estimate job runtimes internally

Rather than relying on the workers to supply estimated job runtimes,
record the last 10 successful run times and use those to estimate
the run time of each job.  This means that workers (which may be
highly distributed and lack access to a substantial job history)
no longer need to provide these values, and the central scheduler,
which is better placed to do so since italready sees all job run
times, will.

Failure times and a scoreboard of results are kept for each job
as well for potential future use in evaluating likelihood of
job success.

Change-Id: If0955e15a3da9eb842dbee02a4750a177a092d3e
6 files changed