Only search the newly-received data in recvuntil

Continue using `re.search`, but only search the newly-received data (plus enough remaining data for a partial match to be completed by new data).

Please compare with #241 for comparison.

Fixes #238.