fix an incorrect condition in vfs

the compression key was being treated as the entry key, which was passed
through decompress, which returned nothing because the compression key
is uncompressed.

also make sure to return a valid model in case of error instead of
nothing (appropriately, error.mdl is the model that gets returned when
an error occurs)