Manages the class loader which should be used for loading configuration definition classes and associated extensions.
For extensions which define their own extended configuration definitions, the class loader will make sure that the configuration definition classes are loaded and initialized.
Initially the class loader provider is disabled, and calls to the {@link #getClassLoader()} will return the system default classloader.
Applications MUST NOT maintain persistent references to the class loader as it can change at run-time.