StatBlock loading changes

Added a new function which handles the loading of StatBlock Attributes which are common to Avatar and Enemy.

Also allows per_level stats to be specified for enemies, elemental vulnerable stats to be specified for avatar and categories to be specified for avatar. The changes do not require any changes to the existing enemy definitions.

My purpose for making the change was to allow Enemies to be able to have different stats per level. This has a few potential applications but specifically I want to introduce a spawn power setting, allowing a spawn to gain levels along with the caster level or stat value. This would help to ensure that players don't have access to overpowered spawns at the beginning of the game and that spawns are still useful at higher levels.