parse: avoid UnreadByte when possible
parse: avoid UnreadByte when possible

In particular, when reading between single quotes and heredoc lines,
since we'll need to read what comes next anyway.

Parse/Redirect-4       8.95µs ± 4%    8.76µs ± 2%  -2.11%        (p=0.004 n=10+10)

mvdan/sh,mvdan/sh,mvdan/sh,mvdan/sh