Added DataWriter.

Added DataWriter, which can write data in Haferlib's format for
DataReader to read. Added toString to Expressions to allow them to be
written easily.