**Apache Airflow version**: 1.10.12


**Environment**:

- **Cloud provider or hardware configuration**: Google Cloud, custom-8-16384 
- **OS** (e.g. from /etc/os-release): CentOS Linux release 7.7.1908 (Core)
- **Kernel** (e.g. `uname -a`): 3.10.0-1062.18.1.el7.x86_64 #1 SMP Tue Mar 17 23:49:17 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

**What happened**:

Class method [on_load](https://github.com/apache/airflow/blob/ce66bc944d246aa3b51cce6e2fc13cd25da08d6e/airflow/plugins_manager.py#L102) of AirflowPlugin class doesn't run after plugins located in plugin folder, only for plugins installed through pip.

**What you expected to happen**:

Method 'on_load' should run on plugins initialization, that are located in plugin folder

**How to reproduce it**:

1) Create plugin with next code and place it in plugins folder:

```
class TestPlugin(AirflowPlugin):
    menu_links = [MenuLink(category='Google', name='Google', url='google.com')]

    @classmethod
    def on_load(cls, *args, **kwargs):
        raise AirflowPluginException("Test On Load Exception")
```
2) Reload webserver.

_Result_: Webserver logs are empty, new menu appeared in UI.
_Expected result_: Webserver logs should contain information with raised exception, new menu shouldn't appear in UI.
_Reason_: on_load method is called only for airflow.plugins.* entry_points
https://github.com/apache/airflow/blob/ce66bc944d246aa3b51cce6e2fc13cd25da08d6e/airflow/plugins_manager.py#L152

**Additional information**: It is not clear what is the reason for skipping this method call for plugins contained in the folder. At the same time, plugin validation successfully run for plugins from a folder and installed via a package. Validation uses validate method in same AirflowPlugin class and can be extended by user.
https://github.com/apache/airflow/blob/b9dc3c51ba2cba1c61d327488cecf2623d6445b3/airflow/plugins_manager.py#L96
airflow/plugins_manager.py
"""Load and register Airflow Plugins from plugins directory"""
    global import_errors  
    global plugins  
    log.debug("Loading plugins from directory: %s", settings.PLUGINS_FOLDER)
    for file_path in find_path_from_directory(settings.PLUGINS_FOLDER, ".airflowignore"):
        if not os.path.isfile(file_path):
            continue
        mod_name, file_ext = os.path.splitext(os.path.split(file_path)[-1])
        if file_ext != '.py':
            continue
        try:
            loader = importlib.machinery.SourceFileLoader(mod_name, file_path)
            spec = importlib.util.spec_from_loader(mod_name, loader)
            mod = importlib.util.module_from_spec(spec)
            sys.modules[spec.name] = mod
            loader.exec_module(mod)
            log.debug('Importing plugin module %s', file_path)
            for mod_attr_value in (m for m in mod.__dict__.values() if is_valid_plugin(m)):
                plugin_instance = mod_attr_value()
                plugin_instance.source = PluginsDirectorySource(file_path)
                plugins.append(plugin_instance)
        except Exception as e:  
            log.exception(e)
            log.error('Failed to import plugin %s', file_path)
            import_errors[file_path] = str(e)
def make_module(name: str, objects: List[Any]):