MQTT-RPC: convert payload from bytes to str before parsing JSON

This avoids an exception in Python 3
MQTT Client: reject client ID of more than 23 characters

(see the MQTT specifications)

- Added a generate_id method
- Added a set_credentials method
MQTT Discovery & RPC: let the clients generate their ID

Avoids the ID length warning
Removed unused CONNECT_RC constants in MQTT discovery & RPC
Added the hability to wait for a publication to completed
Publish a "lost" message when invalidating the MQTT discovery
Unlock calls to removed endpoints