Improvements to *JavaHome types

Previously the ImmutableJavaHome.do_with() method used the $PWD
qualified version of JAVA_HOME.  This caused problem during some
executions, so both of the *JavaHome types have been changed such that
the fully qualified path is used in the do_with() method.

[#63086152]
Merge 63086152-java-home-improvements

[Completes #63086152]