Load all config files and return the configobjs

        :returns: a list of configobjs
        :raises: None

        It always loads the coreconfig.
        Then it looks for all configs inside the PLUGIN_CONFIG_DIR.
        It will find the corresponding spec of the plugins.
        If there is a spec, but no ini, it will also be loaded!

def get_configs(self):
        """Load all config files and return the configobjs

        :returns: a list of configobjs
        :raises: None

        It always loads the coreconfig.
        Then it looks for all configs inside the PLUGIN_CONFIG_DIR.
        It will find the corresponding spec of the plugins.
        If there is a spec, but no ini, it will also be loaded!
        """
        # all loaded configs are stored in confs
        confs = []
        # always load core config. it is not part of the plugin configs
        try:
            confs.append(iniconf.get_core_config())
        except ConfigError, e:
            log.error("Could not load Core config! Reason was: %s" % e)

        # get config specs that lie in the plugin path
        # we have to watch the order we gather the specs
        # plugins can override each other, so can config specs
        # it depends on the order of the JUKEBOX_PLUGIN_PATH
        specs = {}
        pathenv = os.environ.get('JUKEBOX_PLUGIN_PATH', '')
        paths = pathenv.split(';')
        paths.append(constants.BUILTIN_PLUGIN_PATH)
        for p in reversed(paths):
            if p:
                files = self.find_inifiles(p)
                for ini in files:
                    base = os.path.basename(ini)
                    specs[base] = ini

        configs = {}
        files = self.find_inifiles(PLUGIN_CONFIG_DIR)
        for ini in files:
            base = os.path.basename(ini)
            configs[base] = ini

        # find matching pairs of configs and specs
        # and load them
        for k in configs:
            spec = specs.pop(k, None)
            conf = configs[k]
            try:
                confs.append(iniconf.load_config(conf, spec))
            except ConfigError, e:
                log.error("Could not load config %s, Reason was: %s" % (k ,e))

        # the remaining configspecs can be used to create
        # empty configs
        for k in specs:
            spec = specs[k]
            conf = os.path.join(PLUGIN_CONFIG_DIR, k)
            try:
                confs.append(iniconf.load_config(conf, spec))
            except ConfigError, e:
                log.error("Could not load config %s, Reason was: %s" % (k ,e))

        return confs