read all the bytes in 1 hit.

also, MCPMerger.readFully won't write past the end of the array if more
than 4096 bytes are available.