Use a 'safe' string for an extension's configuration file.

If available, we'll be using the composer name, which automatically
produces a two-level configuration file tree
(vendor-name/extension-name.yml); if no composer name is available
(i.e., the extension was installed manually), then we use a slugified
version of the name (as reported by getName()) instead.

Either way, we avoid:

- Spaces in filenames (undesirable on UNIX-like platforms)
- Uppercase letters in filenames (potentially hazardous on
  case-insensitive or semi-case-sensitive filesystems such as NTFS/FAT)
- Anything that isn't alphanumeric, dash, or underscore
- Anything non-ascii (filename charsets are notoriously ill-defined
  across platforms; best to limit things to the common denominator)