In-memory sliding window rate limiter.
Stores an array of timestamps per key. On check/record, timestamps
outside the window are pruned. retry_after reports seconds until the
oldest active timestamp expires.
The backing store is an LruMap when options.max_keys is a positive
number (default DEFAULT_RATE_LIMITER_MAX_KEYS) and a plain Map when
max_keys is null. The LruMap path bounds memory under
key-enumeration attack at the cost of a slight per-op overhead and the
LRU trade-off described on RateLimiterOptions.max_keys.
Parameters that accept RateLimiter | null (e.g. ip_rate_limiter,
login_account_rate_limiter) silently disable rate limiting when null
is passed — no checks are performed and all requests are allowed through.