Windows sends directory-query patterns in NT 8.3 DOS wildcard form
("*.cue" arrives as "<.cue", where '<' is DOS_STAR, '>' is DOS_QM and
'"' is DOS_DOT). The previous matchers only understood '*' and '?', so
"dir Z:\*.cue" / "dir Z:\*.bin" returned "File Not Found" even though
"dir Z:\" listed the files — breaking scripts and emulators that scan
the mounted CUE/BIN output.
Replace both ad-hoc matchers with a shared FileNameMatcher (a port of
Dokan's DokanIsNameInExpression) that understands the DOS wildcard
characters, and use it from the Dokan FindFilesWithPattern and the
WinFsp ReadDirectoryEntry paths. Add unit tests covering the DOS
wildcard forms, case-insensitivity, and edge cases.
Also fix WinFsp ReadDirectoryEntry continuation queries: a marker of
"." or ".." was not found among the real entries, so a restarted
enumeration returned nothing; continue at ".." / the first child
instead.