Problem
CCoinsViewCache exposes a few implementation details that are only used to maintain its own cache state.
This makes the public interface broader than necessary, and leaves the class declaration split across repeated access sections.
Fix
Group the internal declarations in the default-private part of CCoinsViewCache, then move ReallocateCache() and ResetGuard out of the public interface.
CreateResetGuard() remains public, so callers can still request scoped reset behavior without naming or constructing the guard type directly.
Reset() remains protected for subclass-facing reset hooks.