Only expose application through Tomcat

Previously, the Tomcat container symlinked the application root
directly to TOMCAT_HOME/webapps/ROOT.  This led to a problem where a
web application configured without a root servlet would expose the
filesystem of the application via the default servlet.  This change
fixes that issue by ensuring that only files and directories that are
uploaded by the user are mapped into the ROOT web application.

To make this change, the first implementation of an Application
abstraction has been created.  This initial implementation ensures
that only the originally upload application code is exposed and adds
utility methods for getting a component-specific directory and
determining paths relative to the application root.

[#59134502]
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]
Merge branch 'master' of github.com:cloudfoundry/java-buildpack

Conflicts:
	lib/java_buildpack/container/tomcat.rb