Removed the JDK PipedInput/OutputStream usage by replacing with enhanced the Source and Sink types along with new SourceStream and SinkStream types.

The PipedInput/OutputStream are unsuitable for situations where thread pools are used and the thread that is used to write output is unpredictable.