As per the PKWARE ZIP File Format Specification (6.3.2), this
patch tests the file 'version made by' field for the UNIX (3)
constant, and then interprets the external file attributes accordingly,
assuming an st_mode field in the high 16 bits.
Before, the library resolved symbolic links that are relative
into absolute paths, using the current working directory of the process
that's doing the unzipping, which to me seems pretty wrong.
This was due to using -[NSURL fileURLWithPath:], which transforms
relative URLs to absolute URLs automatically.
I don't see much of a reason to use NSFileManager here, so I made that
use symlink() directly. Alternatively, one could also use -[NSURL
URLWithString:].
This keeps relative symlinks relative after unzipping.