[addons] adds OnEnabled/OnDisabled callbacks to save special-case stuff in CAddonDatabase

NOTE: still actually special-cased as combined add-ons could be disabled (e.g. service+plugin, where plugin
      is disabled should disable service as well).
[addons] adds GetRunningInstance() to CAddon, retrieving the running instance of the particular add-on, to remove special-casing from CAddonManager for PVR clients
[cosmetic] drop using namespace PVR from AddonManager
[addons] adds CanInstall() to CAddon to allow for non-install of add-ons by type rather than special-casing for PVR in CRepository
[addons] adds OnPreInstall/OnPostInstall callbacks for add-ons to remove addon type-specific code from CAddonInstaller
[addons] adds OnPreUnInstall/OnPostUnInstall to CAddon to get rid of addon type-specific code in CAddonInstaller
Merge pull request #5023 from jmarshallnz/addon_reactions

Addon callbacks for special-case stuff