We introduce the close-after-recv-patterns option. It has the same goal as
close-after-send-patterns with a slightly different implementation.
Reading "up to a pattern" is hard. As we can only check the pattern from what we
have already read (inlike writing, were we can check what we are about to
write).
So instead we make the close-after-recv-patterns alter the behavior of the
existing close-after-recv-bytes. The value from close-after-recv-bytes only
gets into play after we have seen the pattern from close-after-recv-patterns.
This allow us to achieve the target benefit without changing the read pattern
too much.