Some minor cleanup in TraitDictionary and affected callsites.
Improve trait enumeration speed for All and GetMultiple.

Use a hand-rolled enumerators to avoid the overhead from compiler generated enumerable blocks. This trades terseness for some minor performance gains.
Merge pull request #5635 from RoosterDragon/traits

TraitDictionary cleanup