Context
Found while reviewing #35018, which led to a few additional benchmark fixes.
Problem
The CHACHA20 and FSCHACHA20POLY1305 benchmarks reused a single cipher object across timed calls.
That advanced the stream state across samples, so later samples no longer measured work from the same starting point.
A few other benchmarks could benefit from the same iteration-stability treatment, but that is outside the scope of this PR.
While investigating this, it also became clear that MempoolCheckEphemeralSpends only populated vin[0] in its loop, and that WalletBalanceMine duplicated WalletBalanceClean.
The same review also showed that nanobench setup() can be misused as though it runs once per timed call.
Fix
Rebuild the ChaCha ciphers in setup() and pair that setup with epochIterations(1) so each timed call starts from the same state.
Add a nanobench assertion that setup() is only used with epochIterations(1).
Also fix the ephemeral spend benchmark inputs and remove the duplicate wallet balance benchmark.