UseJava: Pass sources to javac using response file (#13028)

The command line string passed to javac can exceed the 8191-character
limit on Windows when there are a large number of files to compile.
To avoid this, the list of sources is written to a file which is then
passed to javac as an argfile.  Spaces in paths are dealt with by
enclosing each file in quotes, and separating files with a newline.
Merge topic 'UseJava-response-file' into next

177c051 UseJava: Pass sources to javac using response file (#13028)