Mappers with custom names

I know this usage isn't documented here https://docs.meltano.com/concepts/plugins#mappers , but based on my use of Meltano thus far having different names for Extractors and Loaders hasn't been any consequence in the past.  `transform-activedirectory` is a fork of https://github.com/MeltanoLabs/meltano-map-transform , with the only difference being that I am pointing to a custom SDK implementation due to https://gitlab.com/meltano/sdk/-/issues/355. 

meltano.yml
```yaml
  mappers:
  - name: activedirectory-transformer
    pip_url: git+ssh://git@gitlab.com/autoidm/transform-activedirectory.git
    executable: meltano-map-transform
    mappings:
    - name: adhex-2-uuid
      config:
        stream_maps:
          "space": {
            "guid": "uuid(objectguid)"
          }
```





Mapper 'mapper-activedirectory' is not known to Meltano

Custom mapper doesn't work
Logs
```
PS C:\code\bamboohr2ad> meltano --log-level=debug install
2022-03-29T19:18:14.047257Z [debug    ] Creating engine <meltano.core.project.Project object at 0x000000B6955FABB0>@sqlite:///C:\code\bamboohr2ad/.meltano/meltano.db
2022-03-29T19:18:14.328268Z [debug    ] Starting new HTTPS connection (1): discovery.meltano.com:443
2022-03-29T19:18:14.429270Z [debug    ] https://discovery.meltano.com:443 "GET /discovery.yml?project_id=b48f8a89-62e6-44b3-aaf5-5aafc1a0f0be HTTP/1.1" 200 22844
2022-03-29T19:18:14.500270Z [debug    ] Encoding detection: ascii is most likely the one.
2022-03-29T19:18:15.927249Z [debug    ] Mapper 'mapper-activedirectory' is not known to Meltano
Traceback (most recent call last):
  File "C:\Python39\lib\site-packages\meltano\core\utils\__init__.py", line 300, in find_named
    return next(x for x in xs if x["name"] == name)
StopIteration

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Python39\lib\site-packages\meltano\core\plugin_discovery_service.py", line 247, in find_definition
    return find_named(self.get_plugins_of_type(plugin_type), plugin_name)
  File "C:\Python39\lib\site-packages\meltano\core\utils\__init__.py", line 302, in find_named
    raise NotFound(name, obj_type) from stop
meltano.core.utils.NotFound: mapper-activedirectory was not found.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Python39\lib\site-packages\meltano\cli\__init__.py", line 47, in main
    cli(obj={"project": None})
  File "C:\Python39\lib\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "C:\Python39\lib\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "C:\Python39\lib\site-packages\click\core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Python39\lib\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Python39\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "C:\Python39\lib\site-packages\meltano\cli\params.py", line 23, in decorate
    return func(*args, **kwargs)
  File "C:\Python39\lib\site-packages\meltano\cli\params.py", line 56, in decorate
    func(project, *args, **kwargs)
  File "C:\Python39\lib\site-packages\meltano\cli\install.py", line 45, in install
    plugins = list(plugins_service.plugins())
  File "C:\Python39\lib\site-packages\meltano\core\project_plugins_service.py", line 285, in plugins
    for _, plugins in self.plugins_by_type(ensure_parent=ensure_parent).items()
  File "C:\Python39\lib\site-packages\meltano\core\project_plugins_service.py", line 267, in plugins_by_type
    return {
  File "C:\Python39\lib\site-packages\meltano\core\project_plugins_service.py", line 268, in <dictcomp>
    plugin_type: self.get_plugins_of_type(
  File "C:\Python39\lib\site-packages\meltano\core\project_plugins_service.py", line 254, in get_plugins_of_type
    self.ensure_parent(plugin)
  File "C:\Python39\lib\site-packages\meltano\core\project_plugins_service.py", line 377, in ensure_parent
    plugin.parent = self.get_parent(plugin)
  File "C:\Python39\lib\site-packages\meltano\core\project_plugins_service.py", line 360, in get_parent
    return self.discovery_service.get_base_plugin(plugin)
  File "C:\Python39\lib\site-packages\meltano\core\plugin_discovery_service.py", line 270, in get_base_plugin
    plugin = project_plugin.custom_definition or self.find_definition(
  File "C:\Python39\lib\site-packages\meltano\core\plugin_discovery_service.py", line 249, in find_definition
    raise PluginNotFoundError(PluginRef(plugin_type, plugin_name)) from err
meltano.core.plugin.error.PluginNotFoundError: Mapper 'mapper-activedirectory' is not known to Meltano

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Python39\lib\site-packages\meltano\cli\__init__.py", line 55, in main
    raise CliError(str(err)) from err
meltano.cli.utils.CliError: Mapper 'mapper-activedirectory' is not known to Meltano
Mapper 'mapper-activedirectory' is not known to Meltano

The above exception was the direct cause of the following exception:
```


To make this work I had to do this

```yaml
  mappers:
  - name: meltano-map-transformer
    variant: meltano
    pip_url: git+ssh://git@gitlab.com/autoidm/transform-activedirectory.git
    executable: meltano-map-transform
    mappings:
    - name: adhex-2-uuid
      config:
        stream_maps:
          "space": {
            "guid": "uuid(objectguid)"
          }
```

Which is fairly hacky :shrug:

Story points: 2.0