SingleFile bundles: Ensure extraction mappings are closed on Windows. (#2272)
When running a single-file app, the AppHost mmap()s itself in order
to read its contents and extract the embedded contents.
The Apphost must always map its contents in order to read the headers,
but doesn't always extract the contents, because previously extracted
files are re-used when available.
In the case where apphost doesn't extract, the file mapping wasn't
immediately closed on Windows. This prevents the app from being renamed
while running -- an idiom used while updating the app in-place.