Issue/6101 Autoload preview providers

@bantu @LukasReschke @georgehrke @MorrisJobke 

This PR:
* moves the registration of the providers to the initProviders() method, so the class files don't execute code anymore
* fix the doc blocks on the methods
* marks providers which are not final as abstract
* moves providers to their own class files

#6101