Add schema.sql,data.sql to default SQL initializers

...for compatibility with Spring JDBC. Users can still
optionally specify spring.database.schema, but the default
location is schema-${spring.database.platform}.sql, schema.sql,
data.sql.

[Fixes #58332710]
Investigating
Fix bug with ordering of property sources

Profile-specific property sources were being added last,
*after* the global values, which means they did not
override in the way that users would expect.

Fixed by storing the global property sources in an
intermediate list and applying them after the profile
specific ones.
Add documentation on how to use gvm to support CLI dev work
Added AMQP starter and sample
Tweak AMQP sample slightly
Add amqp starter to build
Added test for AOP auto configuration and dependency to AspectJ
Make default proxyTargetClass=false

If the default is true JPA repositories all have to have
default constructors etc.
Use create_drop JPA as default if in-memory

[Fixes #55277582] [bs-288]
Updated Tomcat version updated to 8.0.0-RC3

The RC1 version had some websocket issues, that prevented propper websocket communication.
In some cases the SocketJS communication was downgraded to 'xhr_streaming'.
Support @Grab without a version or group

Usually, use of @Grab requires you to specify a group, module, and
version when identifying a dependency. This can be done in two
different ways:

@Grab(group='alpha', module='bravo', version='1.0.0')
@Grab('alpha:bravo:1.0.0')

This commit allows users to only specify a module: the group is
inferred and the version is the one dictated by the boot CLI. Both
forms are supported:

@Grab(module='bravo')
@Grab('bravo')

Groovy's global AST transformations, which is how Grab is implemented,
do not support ordering and we need to augment the AST for the Grab
annotation before its processed by the Grab AST transformation. To
work around this, reflection is used to get hold of the compile
operations in the conversion phase, and a new AST transformation is
inserted immediately before the first AST transformation operation.

To allow a module's groupId and version to be resolved consistently,
META-INF/springcli.properties has been enhanced to include properties
for each module that we want to support in the following form:

<module>.groudId = <groudId>
<module>.version = <version>

<groupId> and <version> are taken from the Maven project's
dependencies and VPP, a Velocity-based pre-processor, is used to
automatically generate the enhanced properties file.

To prevent pollution of spring-boot-cli's class path with the
dependencies that are only required to populate springcli.properties,
a separate project, spring-boot-cli-properties, has been created.
spring-boot-cli depends upon this now project causing it to, via the
shade plug, include the properties file in its jar.

Previously DependencyCustomizer allow a dependency to be added by
specifying its full coordinates, i.e. a group ID, artifact ID, and
version. This commit updates DependencyCustomizer to only require
an artifact/module ID. The group ID and version are then resolved
using the same mechanism as the enhanced @Grab support.

[#56328644] [bs-312] Allow @Grab without version
Add spring-boot-cli-properties to full build
Ensure VPP is available to ant run plugin in full build
Fix deployable WAR (Servlets have to be registered)

Includes smart guess for prepending servlet context initializer
in SpringApplicationBuilder.
Expose SpringApplicationBuilder in SpringBootServletInitializer