Client config is main configuration for the MQTTClient structure.
All of the properties are optional if they are not set they are not gonna
be used. Configuration contains also MQTTv5 properties. Generic constant
MAX_PROPERTIES sets the length for the properties Vec. User can insert
all the properties and client will automatically use variables that are
usable for the specific packet types. mqtt_version sets the version
of the MQTT protocol that is gonna be used. Config also expects the rng
implementation. This implementation is used for generating packet identifiers.
There is counting rng implementation in the utils module that can be used.
Examples of the configurations can be found in the integration tests.