add disconnectionHandler property

Setting this disconnectionHandler property let the client be notified of
accidental disconnection (eg network loss, server down, etc.).

MQTTKit will always try to reconnect to the server. Reconnection cycles
are controlled by the reconnectDelay, reconnectDelayMax &
reconnectExponentialBackoff properties. Default behaviour is to try to
reconnect every seconds.

fixes #2