Stylistic Ruby improvements
Delete JPA restriction for Play applications

Also improve the wording for detection of Play applications in the
migration guide.

[#49696153]
Merge 49696153- to master

[Completes #49696153]
Add Spring Auto-reconfiguration JAR to Spring apps

The change adds a new framework that detects Spring applications and
adds the Spring Auto-reconfiguration JAR to them.  This change
required the introduction of a shared '.lib' directory that frameworks
can contribute JARs to.  The containers are then responsible for
ensuring that the JARs in this shared directory are put on the
classpath at runtime.  As part of this change, all of the existing
containers (main, play, and tomcat) have been update to use JARs in
this directory.

[#49695345]
Merge 49695345-auto-reconfiguration to master

[Completes #49695345]
Sorting

Previously the collection of additional JARs was returned in random
order which led to unpredictable results and runtime behavior.  This
change ensures that they are always returned in the same order.

[#49695345]
Merge 49695345-sorting to master

[Completes #49695345]
Warn if specified memory size is close to the default

Issue a warning to standard error if a specified memory size is within
10% of the default size.

Rework StackMemoryBucket so its default value is available like that
of other memory buckets.

[#52692569]
Merge 52692569-warn-if-memory-close-to-default to master

[Completes #52692569]
Cope with $MEMORY_LIMIT not being set

The warning code failed if $MEMORY_LIMIT is not set. Add a guard to
allow it to cope.

[#52692569]
Modify web.xml for auto-reconfiguration

Previously, the auto-reconfiguration JAR was simply copied into the
additional lib directory for any application that had Spring in it.
This did not actually enable any of the auto-reconfiguration
functionality.  This change causes the auto-reconfiguration framework
to modify a /WEB-INF/web.xml file if it exists in the application.
The modifications made by the framework are detailed in the
documentation for it.

[#49695353]
Merge 49695353-modify-web-xml to master

[Completes #49695353]
Update Auto Reconfiguration

Previously, the version limit for auto reconfiguration was 0.6.+.
With the recent release of version 0.7.0, this change updates the
version limit to 0.7.+.

[#53130477]
Merge 53130477-0.7.0 to master

[Completes #53130477]
Grails buildpack support

Previously, there were a couple of very specific class names that
triggered auto-reconfiguration functionality.  These class names were
incompatible with Grails even though the auto-reconfiguration
functionality works just fine for Grails.  This change makes those
trigger class names a bit more broad to allow Grails applications to
work.

In addition, small fixes have been made to how symbolic links are
created, and the visual output of the buildpack.

[#53084311]
Merge 53084311-grails-support to master

[#53084311]
Prepend ./ to start script path

This avoids the start script having to be found in $PATH.

[#53073143]
Merge 53073143-staged-play-app-fails-to-start to master

[Completes #53073143]
Fix test to match new behaviour

[#53073143]
Merge 53073143-staged-play-app-fails-to-start to master

[Completes #53073143]