Use ApplicationCache until GlobalCache is ready

Previously, JREs were downloaded but never cached.  This caused every
subsequent push of an application to require another JRE download.  In
addition, this changed the programming model available to the compile
implementation.  This change causes JRE downloads to be cached in the
application cache for subsequent pushes and uses the yeilded file
pattern for JRE expansion.

[#50171627]
Merge 50171627-jre-application-cache to master

[Completes #50171627]