Moves auto run calculation of total timer time in separate function.
Timer now shows time remaining for each step.
Refactors TimeKeeper code to keep much more accurate timing.