open a file for reading and writing
int open_rw(const char *filename);
open_rw opens the file filename for reading and writing use and
returns the file handle. If the file does not exist, it will be created
with mode 0644. If there was an error opening or creating the file,
open_rw returns -1 and sets errno accordingly.