Similar but not compatible with ::CompositeReadIO provided by multipart-post.
Read from IOs in order until `length` bytes have been received.
[Validate]