[junitlauncher] Don't let the PipedInputStream.read()s continue when the main thread exits

Related to https://bz.apache.org/bugzilla/show_bug.cgi?id=64733

The main "writer" thread which initiates the writes to the PipedOutputStream (via the switched System.out/System.err) would exit/complete but would leave the SysOutErrStreamReader thread alive thus causing the PipedInputStream.read()s to continue happening in that SysOutErrStreamReader thread. This would cause the following IOException because the writer thread has exited and is no longer alive:

[junitlauncher] Caused by: java.io.IOException: Pipe broken
[junitlauncher] 	at java.base/java.io.PipedInputStream.read(PipedInputStream.java:321)
[junitlauncher] 	at java.base/java.io.PipedInputStream.read(PipedInputStream.java:377)
[junitlauncher] 	at java.base/java.io.InputStream.read(InputStream.java:205)
[junitlauncher] 	at org.apache.tools.ant.taskdefs.optional.junitlauncher.LauncherSupport$SysOutErrStreamReader.run(LauncherSupport.java:525)
[junitlauncher] 	... 1 more
1 file changed