Added IDisabledTrait & UpgradableTrait with upgrade levels support

 * IDisabledTrait for identifying (and filtering) disabled traits
 * UpgradeEnabledDisabledTrait provides an abstract base for enabling by upgrade and disabling by upgrade
These base constructors aren't needed for this feature to work, and add a bunch of boilerplate that goes against our TraitInfo conventions.