Added support for Unix Domain Sockets for MQTT communication
Created a new config option 'mqtt_broker_socket_path' where one can provide the socket path
The config option mutual exclusive to the normal TCP socket and will raise an exception if both are provided in the config file (or as env variable)
There is no default value for the UDS path, it must be provided in the config file
We keep the backward compatibility, thus if nothing is provided in the config file, the default MQTT values are used (localhost:1883)
Beside functionality added, this provides an optimization over the TCP connection (observed on slow systems around 5%)
Updated the config schema to for the new option
Optimization made in the MQTT event loop (we moved from executing the event loop from 100ms to 300s)
Normally the keep alive message is send by the MQTT lib, in certain cases however this might not work unless you call mqtt_sync often and on regular basis (few ms)
We decreased the event loop execution frequency drastically (on slow systems we can see a decrease of CPU usage around 10%)