Add Spring Boot CLI container

This incorporates detection logic which carefully avoids overlapping
that of the Groovy and Tomcat containers. (The detection criteria are
all documented.)

Compile downloads the Spring Boot CLI zip from a repository, unzips
it, and symlinks any classpath JARs into the lib subdirectory of the
unzipped file.

Release builds a command line which drives the spring executable from
the downloaded zip setting JAVA_HOME and JAVA_OPTS appropriately and
overriding the server port with $PORT. For non-web applications, the
use of $PORT should be harmless. The target files are all the Groovy
files in the application root directory.

Add Spring Boot CLI container to buildpack configuration

Rename variables in spec tests to avoid clashes.

[#54204032]
Merge 54204032-spring-boot-cli-container to master

[Completes #54204032]