Clarify Groovy file search

Previously, the Spring Boot CLI documentation and the Groovy
documentation differed in how the described detection of Groovy files.
The Spring Boot CLI documentation was factually incorrect.  This
change removes mention of the root directory in the Spring Boot CLI
documentation.

[#63606768]
Merge 63606768-deep-inspection to master

[Completes #63606768]
Add Grails documentation

Previously there was no mention of Grails applications anywhere in the
documentation.  This was because Grails applications are treated as
Servlet applications and therefore didn't require anything extra.
Grails users were confused so it needed to be improved.  This change
adds Grails to the first bit of body text in the README and adds an
example of how to run Grails applications.

[#63612598]
Merge 63612598-grails-in-docs to master

[Completes #63612598]
Example Documentation

Previously, all the documentation for the Java Buildpack was reference
documentation.  This change adds the beginnings of more by adding
examples of building and deploying the artifact types that we
currently support.

[#63612640]
Merge 63612640-examples to master

[Completes #63612640]
Dependency updates

This change updates dependencies to their latest versions.
Rubocop Updates

A recent upgrade to Rubocop caused a number of new failures.  This
change fixes those failures.
Improve Tomcat logging format and location

Previously, the Tomcat logs (and that of anything else that used JULI)
were written in an unreadable form to stderr.  This made the logs
difficult to use when diagnosing problems, but also very scary looking
when the started with [ERR].  This change updates the buildpack to use
a new copy of the Tomcat support JARs which, when combined with new
logging configuration, will cause the output to be cleaner and be
written to stdout.

[#64764934]
Merge 64764934-tomcat-logs to master

[Completes #64764934]
Additional JARs on classpath

As part of the work to integrate Ratpack into the buildpack, an
adjustment to the Groovy classpath has been made.  Previously, Groovy
applications were responsible for maintaining their own classpath.
Instead, the buildpack should be doing this.  The new behavior is that
all JAR files (regardless of their location) will be added to the
Groovy classpath at runtime.

[#63888002]
Merge 63888002-ratpack-sample-application to master

[Completes #63888002]
Ratpack support

This change adds support for running Ratpack[1] applications.  The
Ratpack support is added as a container and will trigger on the
existence of a app/{R,r}atpack.groovy configuration file.

[1]: http://www.ratpack.io
Merge 63798400-ratpack to master

[Completes #63798400]
Handle invalid encodings

Previously, there was a bug where files that were encoded as something
other than UTF-8 could cause the buildpack to fail.  This change
handles those cases.
After a DNS lookup failure, assume there is no internet connection.

This can occur in two places. If it occurs when sending a HEAD request
against a version of an item in the application cache, mark the
internet as unavailable and use the cached item. If it occurs when
downloading an item, mark the internet as unavailable and look for the
item in the buildpack cache.

[#66409480]
Merge 66409480-recover-from-dns-lookup-failure to 2.0.x

[Completes #66409480]
Merge branch '2.0.x'