Update StreamUtils.drain to use InputStream.transferTo with a null OutputStream. This avoids allocating buffers for cases where the supplied InputStream has an optimized transferTo method (e.g., ByteArrayInputStream and FileInputStream). Additionally, update StreamUtils.emptyInput to simply call InputStream.nullInputStream. Closes gh-28961