Replace BinaryFormatter with BinaryReader/Writer in WhatUsesThis caches
BinaryFormatter is gone from .NET: since .NET 9 it throws
PlatformNotSupportedException, so the editor's WhatUsesThis and
WeaponRackBatchAutoSet caches can't be saved or loaded under CoreCLR. Both
caches are a Dictionary<string, List<string>>, now written as a version
byte, counts and strings. An old BinaryFormatter cache in Temp starts with
a zero byte, fails the version check and is rebuilt, as a missing one is.
Cherry-picked unchanged from unity_6.7.0's changeset
169812 (94fbd1ba2bd,
"Replace deprecated BinaryFormatter with BinaryReader/Writer in
WhatUsesThis"). Works the same on Mono.
(cherry picked from commit 94fbd1ba2bdc2bc26507e1d08e0516fe8a11e4b1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>