Add New Relic support

This change adds support for bound New Relic services.  The framework
notices a bound service in VCAP_SERVICES.  During the compile phase,
the New Relic agent JAR is download and a default New Relic
configuration file is copied into place.  During the release phase, a
number of JAVA_OPTS are configured such that the New Relic service is
used during the application's runtime.

[#53027669]
Merge 53027669-new-relic to master

[Completes #53027669]
Enhance POGO detection

This change enhances the POGO detection algorithm so that it can
detect POGOs that extend or implement other types.  This change also
extracts a collection of Groovy utilities (currently centered around
detection) that are used by both the Groovy container and the Spring
Boot CLI container.

[#54518072]
Merge 54518072-pogos to master

[Completes #54518072]
Cache grapes locally

This change causes the Spring Boot CLI container to look for and cache
grapes locally in the application's directory.

[#54518442]
Merge 54518442-local-grapes to master

[Completes #54518442]
Use floating point for MemorySize division

Using whole number division resulted in close to default memory size
warnings in cases where the memory size was far from the default.
Using floating point division instead fixes the problem.

Add diagnostics and extra tests.

[#54997812]
Merge 54997812-inappropriate-default-memory-warning to master

[#54997812]
reproduce bug?