unsqfs: Refactored common code out of block reading functions

The common code from read_metadata_block() and read_data_block() was
put into new functions read_compressed() and read_uncompressed().
unsqfs: Removed header struct from PkgData

This struct is only used inside read_inode(), so it makes more sense
to use a local variable.
unsqfs: Removed inode struct from PkgData

Instead, we use an output argument so the caller can provide the
storage space for the inode struct. This avoids potential problems
where the data could be overwritten before it is used: there were no
such problems in the current code, but it was not trivial to verify
that.