Added IDisabledTrait & UpgradeManagedTrait

 * IDisabledTrait for identifying (and filtering) disabled traits
 * UpgradeEnabledDisabledTrait provides an abstract base for enabling by upgrade and disabling by upgrade
IMO these should be abstract to force trait authors to be explicit about the behaviour they want.