saveSnapshot
Persists state as the snapshot covering all entries with index <= meta.lastIncludedIndex.
Crash-safety: this MUST be durable before discardLogPrefix runs. A crash between the two leaves the snapshot plus the full log — redundant but safe and recoverable. Overwrites any previously stored snapshot (an older snapshot is strictly dominated).