test: add edge case tests for TotpService
Add 37 Pest tests covering TotpService edge cases that were previously
untested: clock drift acceptance/rejection across time windows, malformed
base32 secrets (lowercase, padding, invalid chars, empty), code format
handling (spaces, dashes, too short/long, alphabetic, whitespace),
replay behaviour documentation, cross-secret rejection, base32
encode/decode round-trips (binary, empty, boundary bytes), and RFC 6238
conformance (determinism, zero-padding, period variation).
Fixes #17
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>