Upgrade Ruby

This change upgrades the required version of Ruby to 1.9.3-p484 due to
a security vulnerability in 1.9.3-p448.

[#61839004]
Make sandbox directory on demand

Previously, the component sandbox directory was created aggressively
each time a Droplet was instantiated.  This caused issues because it
would happen during the detect phase and corrupt the file system for
the compile phase.  This change removes the aggressive creation and
instead makes the directory the first time that the sandbox is
requested by a component.

[#62947962]
Tidy requires

When testing the previous change it was noticed that the require
statements in a number of components were in incorrect.  This change
tidies them up a bit.

[#62947962]
Merge 62947962-lazy-sandbox-creation to master

[Completes #62947962]
Merge branch '1.5.x'
Improvements to *JavaHome types

Previously the ImmutableJavaHome.do_with() method used the $PWD
qualified version of JAVA_HOME.  This caused problem during some
executions, so both of the *JavaHome types have been changed such that
the fully qualified path is used in the do_with() method.

[#63086152]
Merge 63086152-java-home-improvements

[Completes #63086152]
Logger support for non-block message

Previously, only messages passed to the logger via a block would be
printed.  Due to the wonky logger API, messages and prognames are
interchangeable and this was not taken into account in the
implementation.  Since the progname is fixed at logger creation time,
we were discarding any other value that might be provided (which at
times could be the actual message).  The new implementation uses the
input message or input progname, whichever is not nil, as the message.

[#63104902]
Merge 63104902-non-block-logging to master

[Completes #63104902]
Remove focus

Remove an left-over test focus.
Polish IDEA ignores

This change polishes up the ignores of IDEA artifacts

[#63442858]
Merge 63442858-remove-libraries to master

[Completes #63442858]
Upgrade New Relic agent

This change update the New Relic version range to 3.3.+.

[#63522434]
Merge 63522434-upgrade-new-relic to master

[Completes #63522434]
Find JDBC driver JARs in subdirectories

Previously, the JDBC driver frameworks only looked into the root of an
application to find the JDBC driver JARs that would cause them to
avoid.  This was an error as many times those JAR files would be in a
nested subdirectory (e.g. WEB-INF/lib).  This change fixes this bug
and causes the JDBC driver JARs to be detected anywhere in the
application's filesystem.

[#63555022]
Merge 63555022-deep-jdbc-drivers to master

[Completes #63555022]
Seriously, don't create sandboxes in detect and release

An earlier attempt to prevent sandboxes from being created in detect
and release wasn't entirely successful.  This change finishes the job
and ensures that, seriously, sandboxes aren't created when they
shouldn't be.

[#62947962]
Merge 62947962-no-sandboxes to master

[Completes #62947962]
Allow Spring Insight to support multiple app instances

Spring Insight is a monitoring solution provided Pivotal[1].  It
monitors Spring web applications for performance and faults.  This
support is implemented as a framework that looks for a service called
'insight' and acts when it is found.  The framework downloads the
appropriate Insight agent from the Insight dashboard and configures it
so that it connects to the bound service properly.  Each instance of
an application is configured with the same name and Spring Insight can
not tell the difference between instances. This commit fixes this by
removing the application naming property supplied to Insight at
startup and adding a new plugin to the Insight agent that names
application activity from different instances based on instance name
set in the Cloudfoundry enviroment.

[1]: http://gopivotal.com/pivotal-products/apps/pivotal-tc-server

[62015878]
Merge 63747966-insight-improvements to master

[Completes #63747966]