Repository index caching

Previously an offline buildpack would not work when put into a real
"offline" environment.  This problem was linked to two problems.

The first was with the build and was quite difficult to identify. When
the `bundle exec rake package OFFLINE=true` was run with either
`clean` or `clobber` as well (e.g. `bundle exec rake clobber package
OFFLINE=true`), the cached indexes were destroyed before they could be
added to the package.  This was fixed by making sure that the indexes
were explicitly cached rather than being cached as a side-effect of
finding that JARs that needed to be cached.

The second problem was where repository indexes were looked for.
Before this change, repository indexes were only found in
`Dir.tmpdir`.  This is because the cache has to be put somewhere safe
during detect when the application cache is unavailable.  The problem
was that the cache used by the repository index didn't have any fall-
back immutable caches.  This change updates the repository index cache
so that it still uses `Dir.tmpdir` but also uses the `resources/cache`
folder as an immutable cache.

[#68677262]
Merge 68677262-missing-indexes to master

[Completes #68677262]
JAVA_OPTS from environment variables

Previously, the JAVA_OPTS environment variable was ignored in all
cases.  This change adds support for integrating the contents of the
JAVA_OPTS environment variable when configured to do so.  By default,
the contents will be used, but a change to the config/java_opts.yml
file by a buildpack admin can disable this behavior.

[#64162734]
Merge 64162734-java-opts-env-var to master

[Completes #64162734]
Remove Focus

This change removes an errant :focus declaration
Trial and Error

For some reason Travis is starting to exhibit problems with code that
has not changed in months.  This problem is not exhibited on machines
locally, so I'm changing the code a bit in a trial and error attempt
to fix Travis.
Augment, don't replace environment

Along the attempts to track down the Travis failure, this updates the
application_helper to augment the environment rather than outright
replacing it.
Version updates

This change updates the versions of Rubocop and Yard.  As with most
Rubocop updates, code needed to be changed, and was.
Version Updates

This change updates the versions of 3rd party dependencies.
Merge remote-tracking branch 'upstream/master'