util: support None size in chunkbuffer.read()
When no size is provided, read the whole buffer. This aligns with the usual
behavior of `read()` in python.
all()draft()::tipdraft() and ::tip0::tiproots(0::tip)author(lmoscovicz)author(mpm)author(lmoscovicz) or author(mpm)tip:0max(tip:0)min(0:tip)0::min(0::)roots((tip~100::) - (tip~100::tip))::p1(p1(tip))::