Reduce flush counts

At first, I flush the chain in subrequest every time to ensure that all data has been sent so
that we can recovery the last checkpoint.

In fact, It does not need to flush every chian, we just need to flush the last chain in subrequest.
The last chain will always contain a special buf with buf->last_in_chain setted, we find the last
chain and set the buf->flush flag.
update version