Store file contents as raw vectors for binary files

We define binary files as files containing at least one embedded null
character.

All files are read as raw vectors now. Binary files are kept as raw
vectors, text files as character. As a typical plugin either works on
binary files, or on text files, but not both, this is fine, we
don't need to convert between the raw and text representation.
I suspect at some point we'll need to worry about encoding issues here.  Or maybe we should just make the Rmarkdown policy that all text files at utf-8?