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.
`public` does not go on Interface members (and actually shouldn't compile). Please remove this.