Refactor MqttService (use keep-alives from Paho), implement reconnect