MDL-39854 use always get_plugin() to get list of plugins

get_list_of_plugins() is NOT intended for real plugins, only plugin like directories.
MDL-39854 fix invalid get_plugin_types() params in backup code
MDL-39854 reimplement Frankenstyle support

Better performance, more reliable, completely self contained,
more validation and full backwards compatibility.

This will also allow us to implement ignoring of plugins.
MDL-39854 add support for class autoloading