[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
fixed: use the proper make instead of calling 'make' directly

fixes builds on freebsd
cmake buildsystem
add tests needed by new u16 string stuff
wrap cmyth properly
move some more install related stuff to install script
move all install code to platform install script
allow building without doxygen
fix building with yajl2
generate scripts in a subdir to avoid problems configuring in top dir
properly wrap library.xbmc.foo
link to threading lib
remove duplicate mpeg2 entry
properly locate java and swig

also use the detected paths for java, swig and doxygen