read a whole file into a stralloc
int readclose(int fd,stralloc* sa,size_t bufsize);
readclose reads the
whole content into the stralloc sa. The file is read in chunks of
bufsize bytes size. If everything worked fine, readclose returns
0. On error, readclose returns -1 and sets errno appropriately.