Add __attribute__((packed)) to the on-disk reparse point structures to
avoid a compiler warning about a potential unaligned pointer when
casting a pointer to REPARSE_POINT (which is defined in
<ntfs-3g/layout.h> using __attribute__((packed))) to a pointer to
WOF_FILE_PROVIDER_REPARSE_POINT_V1.
This warning is probably a false positive since the REPARSE_POINT from
NTFS-3G should be aligned in practice. But we shouldn't assume that.
This change allows one ntfs_system_decompression_ctx to be reused for
all reads from a given open FUSE file. To make this possible, it was
necessary to update the decompression context to no longer hold a
reference to the open compressed stream.
Based on a proposal by Mikalai Ramanovich.