refactor(security): extract the request-rate log from Environment
The short-term log of who has been hitting the site is a storage, not a fact of the
request: it now lives behind RequestRateLogInterface with a flat-file implementation
(the record format is unchanged). The kernel records the visit, online/GetIpActivityUseCase
reads it, and Environment keeps only the address and the user agent.
Addresses cross the interface as strings — the unsigned-int form stays an implementation
detail, which is what IPv6 support will replace. The online module also stops depending
on Environment altogether: the current address is handed to the use case by its controller.