Added message queue : when using "SendX" methods on a client, messages are also stored in a queue. When requesting acks from the server, sent messages will be discarded, and unsent ones will be sent again. (see https://xmpp.org/extensions/xep-0198.html#acking)
Added separate hooks for connection and resume on the client. One can now specify different actions to get triggered on client connect and reconnect, at client init time.
Client state update is now thread safe
Changed the Config struct to use pointer semantics
Refactoring, including removing some Fprintf statements in favor of Marshal + Write and using structs from the library instead of strings