Look to buildpack local cache

This is the sixth step in creating an offline buildpack.  This change
causes the ApplicationCache to look at a local location
(resources/cache) for resources when it cannot download them.

This simple requirement led to extensive changes to the DownloadCache
implementation.  The changes mostly had to do with removing code that
causes filesystem locking for cached resources.  Since the cache can
no longer be shared between processes (there is no global cache) there
was no need for the added complexity of the filesystem locking.  In
addition, the behavior around detecting when the network was
unavailable was overly complex.  This change eliminates all excess
calls to determine connectivity, instead using the needed calls to
determine it.

[#67852466]
Merge 67852466-buildpack-local-cache to offline

[Completes #67852466]