Added support for provider loader

This commit imports the provider loader.
The provider loader is used to load Qt plugins
that are based on the provider interface, and
make them fully fledged providers.
Added more classes for managers

This commit adds more classes that are used
to manage providers.