Generates name variations for a given file name or path and a locale. The name variations
are provided in most-specific to least-specific order, so for a path of "Base.ext" and a Locale
of "en_US", the generated names would be "Base_en_US.ext", "Base_en.ext", "Base.ext".
Implements Iterable, so a LocalizedNameGenerator may be used directly in a for loop.
This class is not threadsafe.