packagefs: Fix deadbeef when using a file after package removal

When closing a file whose package had been removed,
PackageFile::VFSUninit() would crash due to calling Package::Close() on
an already destroyed Package object. PackageNode does now hold a
reference to the package between VFSInit() and VFSUninit().