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]