Add robust_read/write for retry-on-EINTR pattern
Make robust_write take a const void pointer
Improve error checking for strtol as suggested in its man page
Initialize buffer in conf_file_read to empty string

Otherwise uninitalized data will be stored for the first line if the
first line is empty.
Always trim leading/trailing whitespace in conf_file_parse_line

Escape sequence handling will be added to ConfFile in a future patch
to support leading/trailing whitespace.
Don't overwrite fopen/fread errors in conf_file_read
Treat \0 in conf file as end-of-file marker in conf_file_read

Also wrap fread/fwrite in robust_fread/fwrite to get an interface
that's easier to use.
Remove trailing empty lines in conf_file_read
Support escaped strings in conf_file_read

Option names and values are restricted to printable ASCII characters.
Everything else can represented by common escape sequences including:

\a, \b, \f, \n, \r, \t, \v, \\, \', \" and \x with two hex digits.
Support setting ConfFile values and writing it back to a file

Option names and values are written with the same encoding supported
for reading.