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.
Leaving this - not worth potentially introducing a different error for a 1 character length suggestion.