- Main broker: only allocate _mqtt_client when custom broker configured
(analyzer-only saves one PsychicMqttClient). Reconnect main broker after
forced disconnect with 30s throttle; set last_attempt on disconnect so
throttle applies and avoids reconnect storms on flaky WiFi.
- Analyzer clients: call disconnect() when WiFi transitions to disconnected
so ESP-IDF frees MQTT buffers (it does not free on WiFi drop). Reduces
fragmentation and Max drop after disconnect/reconnect cycles.
- get wifi.status: report WiFi uptime (Xd Xh Xm Xs) when WITH_MQTT_BRIDGE.
Track connect time in bridge; backfill when already connected at first check.
- get mqtt.status: show msgs on/off, broker (connected/disconnected/n/a),
analyzer US/EU (connected/disconnected/off), and queue count.
Note: PsychicMqttClient change (register event only on first client creation)
belongs in the library repo if committed separately.