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
It might be a good idea to change `min` to 0 here too.