Add extra test for placeholder behaviour
Ensure UPPER_CASE overrides work in PropertiesLauncher
Add parent class loader entries if possible

...otherwise you can see cryptic NoClassDefFound errors
because the application class was loaded from the parent
on the file system, but then it doesn't have access to the
child loaders nested jars.
Add git commit id to MANIFEST in boot tools repackager
Ensure env vars are consulted for PATH
Temporary fix for Spring snapshot changes
Small re-org of PropertiesLauncher
Revert "Temporary fix for Spring snapshot changes"

This reverts commit 8a804f61852100f82aa044c21f0ce6cf2d24bf8c.
Extend PropertiesLauncher to load nested archives

PropertiesLauncher can now be used to run an executable jar, and by
default it will pick up nested archives in lib/ (where the Boot
tools puts them). User can provide loader.path (colon-separated)
to change the nested path.

[#58837492] [bs-330] Add tooling for PropertiesLauncher
Provide an Aether-based Grape Engine

Previously, @Grab annotations would use Ivy to download the
dependencies with some of Ivy's known limitations being worked around
by GrapeEngineCustomizer.

This commit adds a GrapeEngine implementation that uses Aether,
the dependency resolution 'engine' used by Maven and Grails. To ensure
consistent behaviour with a Maven build, the Aether-powered dependency
resolution uses the dependency management configuration from the
spring-boot-starter-parent pom file.