Fix "get_plugin_methods" so it excludes inherited abstract methods.
Use new "register_plugin_class" method which retrieving a plugin class. This method makes sure that the plugin implements all the required abstract methods from the base plugin class.
Add __all__.
Add tests for register_plugin_class method.