Merge 59134502-only-expose-application-through-tomcat to master

[Completes #59134502]
Rubocop fixes

Bad development practices led me to commit code without first running
the entire rake suite.  This fixes the problems introduced in the last
commit.

[#59134502]
Merge 59134502-rubocop to master

[#59134502]
Change detect output

Previously, the detect output of the buildpack looked something like
the following:

openjdk-1.7.0_40, tomcat-7.0.42, spring-auto-reconfiguration-0.9.1

Per request from the Cloud Foundry core team, this output has been
modified to delimit each entry's name and version number with an
equals sign and each entry from one another with a space.  The output
now looks like:

openjdk=1.7.0_40 tomcat=7.0.42 spring-auto-reconfiguration=0.9.1

[#58810508]
Merge 58810508-detect-output to master

[Completes #58810508]
Support Play 2.2

Refactor Play framework to encapsulate the application-specific pieces
in a "PlayApp" abstraction defined by the BasePlayApp class. This
class has two subclasses: PlayAppPost22 for Play 2.2 and upwards and
PlayAppPre22 for Play 2.1.x and earlier (actually no earlier than 2.0
since older versions are not supported).

PlayAppPre22 is further subclassed by PlayAppPre22Dist and
PlayAppPre22Staged to represent the differences between Play 2.0/2.1
dist and staged applications, respectively.

PlayAppFactory isolates the using code (the Play container and some
associated frameworks) from the concrete subclasses of BasePlayApp.

Play version parsing and the naming requirements for the Play JAR are
both tightened up.

Play 2.2 support consists of:

1. Looking for a different style of start script. The start script is
now present in the bin directory and named after the application.

2. Updating the classpath variable in the start script (for both dist
and staged apps, which are now identical in structure in Play 2.2).

3. Supporting Play 2.2 style Java options by pre-pending '-J' to each
Java option.

4. Avoiding incompatible minimum and maximum heap sizes. Play 2.2 sets
-Xms to a large value by default and when this exceeds our calculated
-Xmx the JVM fails to initialise. Since we do not normally specify
-Xms, we set this to a low value (currently 2M since 1M is
insufficient for the JVM to initialise), but note that we do this for
Play 2.2 only.

[#58432326]
Merge 58432326-play-2.2 to master

[Completes #58432326]
Spring auto-reconfiguration detection for long Spring JAR names

[#59398214]