Added Package.packageLayout(). Now there are three app layouts for the package: source app image layout, layout of app image for packaging, and layout of installed app image
Split Launcher.executableName() into Launcher.executableName(), Launcher.executableSuffix(), and Launcher.executableNameWithSuffix(). Fix DotInNameTest.java test
Make PackagerException use I18N class to access l10n data. Fixes the issue that PackagerException can pull values from `jdk.jpackage.internal.resources.MainResources` resource bundle only instead of all jpackage resource bundles
PackageFile.getPathInAppImage() and AppImageFile2.getPathInAppImage() will return null if called on app layout without `app` subdirectory (runtime image)
- Clustered classes from jdk.jpackage.internal package into jdk.jpackage.internal.cli, jdk.jpackage.internal.util, jdk.jpackage.internal.util.function, jdk.jpackage.internal.util.xml, and jdk.jpackage.internal.model packages