Lea refactor biography statistic generation

There was a ton of duplication in the biography statistics generation. This is a massive cleanup to both reduce the size of the BiographyStatistic model and to eliminate the vast majority of duplication.
Why is this included?