New -path arg for find_java

Previously, the only way to specify a custom java.exe location for
find_java was through JAVA_HOME, but now we have one more hook.
If you pass in a custom path, and it is found, the rest of
find_java will be skipped, and that path will be used.

This has a few advantages:
1) Passing in an explicit custom path is really intuitive.

2) JAVA_HOME may be used by other applications, and asking users
to override it for us could cause compatibility issues.

3) This makes life much easier for our installer, which does not
want to blindly overwrite the user's JAVA_HOME environment
variable.

4) If we ever change where we store a java path (new registry, in
a file somewhere), we don't have to recompile find_java.exe to
account for it. All we have to do is update find_java.bat.

5) This gives us a really easy way to tell users who run into
find_java bugs a way to fix them.

Change-Id: I1d7bd95c9225f34c22d987005f32af256f81d908
3 files changed