Statistics review/cleanup.

@sueloverso, @agorrod: I owed Sue a review on #1313, can one of you please review these changes?

The primary change is to use Python subclasses so we don't have to remember to set a prefix in the description, but I also made some other changes while I was in the area. I tried to use a separate commit per change, it should be pretty easy to revert any specific changes you don't like.