Use Yard macros in API docs

Previously there was a hole in our API documentation that overridden
methods did not inherit their parent's documentation.  There is an
issue open with the Yard team to fix this bug, but until then the
decision was made to use Yard macros to duplicate the documentation.
This change adds the Yard macros and cleans up other miscellaneous
documentation errors.

[#59111410]
Merge 59111410-yard-docs to master

[#59111410]
Required service credentials

Previously, if a service was named such that it matched a service
search string (e.g. if it had insight anywhere within the name), the
the service finder would match the service.  This caused problems as
some times as service named in a certain way wasn't what a framework
was expecting.  This change allows component implementors to search
not only for a string in the service name, label, and tags, but also
ensure that a set of keys are present in the credentials.  If the a
single service matches, but the credentials aren't right, a warning is
printed and service will not be counted as a match.

[#64765506]
Merge 64765506-service-credential-requirements to master

[Completes #64765506]
IN_PROGRESS notifications

This change adds IN_PROGRESS notifications to the Travis builds.
Fix incorrect dashboard_url credential check

The change to introduce required credential checks introduced a bug in
the Spring Insight Framework.  In that case, the check was for
'dashboard-url', which was incorrect.  The correct key to check for
was 'dashboard_url' (note the underscore instead of the hypen).  This
change updates the key to look for and the tests associated with it.

[#64765506]
Merge 64765506-fix to master

[Completes #64765506]
Temporarily pin New Relic

Due to a bug found in New Relic 3.4.1, this change temporarily pins
New Relic to version 3.4.1.  This should be removed once 3.5 is
release.

[#65394228]
Merge 65394228-pin-new-relic to master

[Completes #65394228]
Override Tomcat logging

Previously much of Tomcat's internal logging was output to files.
This log content was not accessible via `cf logs`.  This change causes
all of Tomcat's output to go to console which is then collected and
displayed via `cf logs`.

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

[Completes #64674470]
Clarify non-config component docs

Previously there were a couple of components that did not have
configuration files by default.  Some of these components _could_ be
configured, but were not by default.  The documentation for these
components indicated that configuration should only be modified.  This
change updates the documentation to mention that the configuration
files may need to be created as well as potentially being updated.

[#63758260]
Merge 63758260-java-main-docs to master

[Completes #63758260]
Support Spring Boot beans-style configuration

This change adds support for Spring Boot's beans-style
configuration[1].

[1]: https://github.com/spring-projects/spring-boot/tree/master/spring-boot-cli#beans-dsl

[#63606834]
Merge 63606834-spring-boot-beans to master

[Completes #63606834]
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]