unsqfs: Interpret paths with '/' instead of searching all subdirs

Before, a file named for example "icon.png" would be searched for in
all subdirs of the package. This can cause the wrong file to be found
if there are multiple files with the same name and it is inefficient in
packages which contain a lot of files (if most of them are in subdirs).
The new approach is to specify the location of the file relative to the
root of the package, so "icon.png" is searched for only in the root,
while "gfx/icon.png" is searched for in the "gfx" subdir.

Additionally, errors are handled differently: before, if reading a
matching file's metadata returned an error, the next match was tried.
In the new path lookup scheme, there can be at most one match, so if
a match is found and there is an error reading it, no further matches
are attempted.