Big test refactor

* refactor percentiletests and typestests to use attributes instead of
protected strings
* begin the magicalItemTraitGenerator
* have TypeAndAmountPRP throw if not in correct format
*