Explicit Java via env vars

Previously, the only way to specify a vendor and version of Java was
to use a system.properties file in deployed artifact.  As this implied
pollution of user-code, another (non-invasive) facility for
configuring this was required.  This change adds the ability to set
the JAVA_RUNTIME_VENDOR and JAVA_RUNTIME_VERSION environment variable
to specify a vendor and version of JAVA to use.

[#49335349]
Merge 49335349-env-vars to master

[Completes #49335349]