Fix cached_classproperty to use the MRO

Accessing the property failed when doing so in a subclass of the class
containing the property. Now it is properly looked up througout the MRO,
but still cached on the current class (to avoid polluting a superclass
since the actual result might very well be specific to the subclass)
Make IndicoPlugin.settings a classproperty

It does not rely on any instance state (besides cls.name being set,
which happens when the plugin is loaded).
Load plugins if necessary