feat: validator cache eviction — cap at 500K entries, evict oldest 10% by resolve_time
prevents unbounded memory growth from caching every DID's signing key.
configurable via VALIDATOR_CACHE_SIZE env var. eviction runs in the
background resolve loop (not the hot validation path). adds
relay_validator_cache_evictions_total prometheus counter.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>