Add support for non-installed java distros

Allow JavaInstallation to reference the root of a java installation. If the value points at a valid directory, then try that as JavaHome. Our build environments do not have a standard java installation, instead we have a local copy in our build tree. Our custom .targets specifies Antlr4JavaInstallation as a full path to the installation. This change attempts to use that as a path, and if it is a valid path, it'll get returned