Keep track of published topics and expose them through an API
## Problem
There is currently not an easy way to get an overview of all events that are sent over pub/sub in a Juice instance. This is important to know, for example for configuring the parameter monitor (which monitors events).
## Proposed solution
We should keep track of all unique topics that are sent in the task manager, together with a last seen timestamp. We can then expose a task on the task manager that allows use to receive that list for manual inspection.
```python
>>> result = client.execute("task_manager", GetEventTopicList())
{
"{topic}": "{last_timestamp}",
...
}
```
### Acceptance Criteria
#### Core Functionality
- [ ] Task manager tracks **all unique pub/sub topics** that are published
- [ ] Each topic is stored with its **last seen timestamp**
- [ ] Topics are deduplicated (no duplicate entries)
- [ ] Data needs to be retained for the lifetime of the `task-manager` process.
---
#### API / Task Exposure
- [ ] Task `GetEventTopicList` is implemented and callable via:
```python
client.execute("task_manager", GetEventTopicList())
```
issue