TRINIDAD-2406 externalize skin repositories by using SkinProvider SPI
thanks to Anand for the patch
this patch fixes the issue where skin additions specified in trindiad-skins.xml (mainly simple skin additions) for skins registered using SkinFactory.addSkin (mainly in Configurator's init or reloadSkin) are not getting picked up. 

The solution is to ensure that the skin additions are added when we return skin from ExternalSkinProvider. ExternalSkinProvider is the place where the Skins registered using SkinFactory.addSkin will reside. ExternalSkinProvider will now call an API (internal) on TrindiadSkinProvider to get the SkinAdditions added, if they are not already. 
8 files changed