Add compressed archive support in sg_stream code
As part of the 'support UTF-8 paths which aren't ASCII' work, most places which use sg_stream create one directly form SGPath. This was done specifically to make this task easier, basically nowhere in our code should even be doing a raw fopen on a char* path. Hopefully.
When a 'path to an archive' is passed, we need to add the archive to the VFS layer (i.e mount it), decompress to memory, and return an sg_stream around that data. We do have the option to seek to the correct data, and only decompress those blocks, but for TAR archives, we're going to need to have decompressed the whole lot anyway unfortunately
Edited by James Turner