Generic implementation if stream readall() method, immediately reused in unix io.FileIO implementation

This also includes some additions to vstr API to allow it to be used as generic arbitrary-length buffer and address #122.