soup-filter-input-stream: fix non-blocking behavior to not spin
soup-filter-input-stream: fix non-blocking behavior to not spin

Just having a non-empty internal buffer isn't enough to guarantee we
can do a non-blocking read; if the caller is doing a read_until, we
might have some data in the buffer but still be waiting to find the
boundary. So track that. Based on a patch from Gustavo Noronha Silva.

Distrotech/libsoup,jwendell/libsoup,jwendell/libsoup,Distrotech/libsoup,fanc999/libsoup,fanc999/libsoup,fanc999/libsoup,Distrotech/libsoup,Distrotech/libsoup,jwendell/libsoup,Distrotech/libsoup,fanc999/libsoup,fanc999/libsoup,jwendell/libsoup,jwendell/libsoup