update_image.c: Ignore Windows 10 Recycle Bin directories.
On Windows 10 (possibly earlier versions?), the \$RECYCLE.BIN or
\$Recycle.Bin directories are created in the root of a volume.
Both case variants here so capture of an NTFS volume from Linux
should work, but wouldn't make a difference when capturing on
Windows.
Make wimlib on 32-bit Windows year 2038 safe by doing the following:
- Build both the library and program with 64-bit time_t, being careful
to avoid changing the timespec struct exposed in the API.
- Update wimlib's API to include an extended seconds field in
wimlib_dir_entry for each timestamp, and set it when tv_sec is 32-bit.
- When needing the current time, call GetSystemTimeAsFileTime() instead
of MinGW's gettimeofday().
This also has the advantage that due to switching to the 64-bit time_t
functions, 32-bit wimlib-imagex.exe now prints timestamps prior to year
1970 correctly.
Unfortunately, despite the API improvement, we cannot at this time make
wimlib fully Y2038-safe on 32-bit UNIX, due to lack of OS support.
Casting the type of the 'cmp' function, while under normal circumstances
compiled correctly, was not technically correct and was not compatible
with some control flow integrity (CFI) implementations.