Support unformatted files

Big change to add unformatted I/O support.