The previous AdbFilterInputStream.read function was always waiting for
buffer to fill, even if this meant to block for a long time. Now it checks
if the next read will block. The one case it still could block, when
reading a 0xd (carriage return) is not expected to occur for interactive
output (at least as the last character of some input).
This removes the need for a separate executeShellRaw method.