streamlined plugin system
Summary:
This is the first big change in my patchset.
Metadata is being baked into the plugins. No more need for each plugin to create its own KPluginData from a .desktop file in its constructor.
PluginLoader determines the plugin category by using qobject_cast.
Plugin factories no longer get their own factories with K_PLUGIN_FACTORY. They just implement the AmarokPluginFactory interface.
I also changed SqlCollection to get passed around as a QSharedPointer. This fixed another crash for me.
Reviewers: Amarok, markey
Reviewed By: Amarok, markey
Subscribers: markey
Differential Revision: https://phabricator.kde.org/D8229