Progress Bar Performance

A couple very quick changes for the progress bar, specifically avoiding walking back slowly, and one fix for some fairly common lengthy itemset re-evaluations.
The idea of this makes sense to me, but I don't understand why it's actually a performance boost in this case. Do getAnswerValue or getDataType really do something intensive and then cache the result of it so later calls are cheap?