Fix Windows crash when downloading into a deep local_dir (#4546)
* Fix Windows crash downloading into a deep local_dir
get_local_download_paths / get_local_upload_paths apply the extended-length "\?\" prefix to the download/upload paths, but _huggingface_dir() created <local_dir>/.cache/huggingface with a plain mkdir first. For a deep local_dir that folder exceeds the Windows ~255 char limit, so the mkdir raised FileNotFoundError (WinError 206) before the prefix workaround ran.
Apply the same prefix inside _huggingface_dir for its directory creation and bookkeeping files (CACHEDIR.TAG, .gitignore); the un-prefixed path is still returned so callers keep prefixing as before. Adds a Windows regression test covering a long local_dir (the existing test only covers a long filename).
* Lower long-path threshold to 247 for directory creation
Plain CreateDirectory fails once the directory path exceeds 247 characters (MAX_PATH minus room for an 8.3 file name), not 255: verified empirically that mkdir fails with WinError 206 from 248 onwards while file creation only fails at 260. Guard _huggingface_dir at >247 accordingly and cover both boundary windows (252 and 300) in the regression test.