fix(leios): address review-bot findings
- ComputeCommittee now errors when the coverage target is unreachable (pool stake sum below sigma_c of total active stake) instead of returning a partial committee - NewVoterRegistry rejects non-28-byte pool key hashes and duplicate entries that normalize to the same pool hash - LoadVoteSigningKeyFile rejects oversized key files instead of silently truncating, and reuses keystore.CheckOpenFilePermissions (newly exported) so Windows gets the real DACL check instead of a no-op; the leios-local permission shims are removed - VerifyVoteSignature subgroup-checks the public key for callers outside the package - Vote store prunes expired entries before the dedup check so a stale vote id cannot block a fresh vote after TTL - NextVotes persists the per-connection cursor only on successful delivery so aborted waits do not skip undelivered votes - WithLeiosVoterPublicKeys copies the caller's map Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> Signed-off-by: Chris Guiney <[email protected]>