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
From a readability perspective, we may want to specify `UpgradeMinLevel: 1` for these cases. I'm not sure its sufficiently clear that these are disabled by default otherwise.