Replace Redis queue with custom http solution
New web routes:
- PUT /api/event/irc - Submit a new irc message event for processing.
- PUT /api/event/phorge - Submit a new Phorge event for processing.
- GET /api/event/stream - Connect to a text/event-stream feed.
New API clients:
- wikibugs2.events.WriterClient - API client for sending events
- wikibugs2.events.SSEClient - text/event-stream API client
Msgspec data objects have been extracted to the new wikibugs2.models module for easier reuse between the API server and clients.
Convert irc, gerrit, and phorge tasks from AsyncRedisQueue to WriterClient or SSEClient as appropriate.
Remove the now unused AsyncRedisQueue class and our dependency on the redis pypi package.
Bug: T361518