At the moment users can have various casing and seperatirs in paths, we should not always dasherize the name when resolving modules.
As for example when providing something like:
```
/module/SubModule/feature
```
It won't be able to resolve the modules properly as `sub-module` does't exist.
This PR also updates the test for underscore as previously it was not properly testing this usercase, since the formatter was used on name and not th path.
Fixes#13714
Recursively go through parents of the component and parents of the module name.
Fixes#7662.
Also shows tried directories on failure so the user has more informations.