The MOSQ_EVT_PERSIST_CLIENT_MSG_CLEAR event has been removed, due to
never being called. It is the responsibility of the plugin to remove
client subscriptions and client messages when the client is removed.
Lots of persist test improvements and additions - mostly checking item
counts.
struct mosquitto_msg_store -> struct mosquitto_base_msg
This is the base message which client messages and retained messages
refer to. The base messages are still held in the message store.
This change comes about because the persistence interface exposes these
message types. Prior to this commit the different messages were "msg",
"client_msg", and "retain". After this commit there is "base_msg",
"client_msg", and and "retain_msg" in the persist interface.