openreadclose - read a whole file into a stralloc
ssize_t openreadclose(const char *filename,
stralloc* sa,size_t bufsize);
openreadclose opens the file filename for reading and reads the whole
content into the stralloc sa. The file is read in chunks of
bufsize bytes size. If everything worked fine, openreadclose returns 1.
If the file did not exist, openreadclose returns 0. On every other error,
openreadclose returns -1 and sets errno appropriately.