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]
CodeClimate Improvements

This change simplifies some code and reduces duplication to satisfy
CodeClimate.
Rollback shell script change

This commit rolls back a change to a shell command that is run when
determining if a buildpack is in a Git repository.
Fix broken link

This change fixes a broken link in the extending documentation.
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]