Bogus yaml checking

Allows classes that implement ITraitInfo to specify a method that is called after the Info class has been made and checks for some TraitSpecific stuff like if two arrays should be the same size.
We may even want to keep the interface (but maybe rename it to something more professional like `IValidateTraitInfo`), but have it called from a lint pass instead of at runtime.