init
->size should always return real file size
when handling IO::File, doing binmode is always ok and wanted
always binmode when writing from one file to another
when assembling a file from multiple messages, concat with platform newline