[addonmgr] query addon disabled state once and cache it (fixes #14122)

This implements DisableAddon and IsAddonDisabled in AddonMgr. Both functions will trigger the database routines
and cache the current addon state instead of doing the database query again. In case the disabled cache does not
know about the current state the database routine will be used to retrieve it.