- direct_session devices now use availability_topic (LWT) exclusively
for online/offline state - timeout monitor no longer interferes
- Added availability_managed set: devices in this set bypass
update_last_seen() and are ignored by the timeout monitor
- Added heartbeat_topics set: heartbeat messages return early before
the session parser, eliminating direct_session_missing_fields warnings
- Added mark_online_silent() to DeviceStatusMonitor: updates state
without emitting a duplicate device_online event
- registry.py: added availability_topic + status_topic params for
direct_session parser type
- server.py: set last_config_update from file mtime on load_persisted_config
- mqtt_bridge.py: auto push config + reset device states when bridge
comes back from offline (prevents stale state in Odoo after restart)