Fixed bug - Don't invoke failure handler when stage task succeeds
Avoid divide by zero in ProgressEstimator
Ensure estimate doesn't dip below zero in ProgressEstimator
Don't calculate new estimate more than once per second in ProgressSample
Use ProgressSample in ProgressProvider for more accurate estimates
Minor/ignore - Added TODO comment