Make records with a single empty string expressible.

Previously, encoding a record with a single empty string resulted
in an inconsistency between the reader and the writer. The writer
would encode it as a single new line character while the reader
only treats a new line character as a record separate if there is
non-zero length text preceding it.

To "fix" this, all empty fields are now encoded as `""`, which will
force the reader to properly interpret it as a record with a single
empty field.

A downside of this fix is that it bloats CSV files.

An alternative is to change the semantics of the parser such that
new line characters always indicate new records. I think Python
does this, so perhaps that is the better solution.