Reconnect

Attempted to send keepAlive and timeout on socket to enable reconnecting on the connection end, but this did not seem to work with ActiveMQ (I think the timeout was working, but not the keepAlive)

Updated lib to emit a disconnect event, this will allow user to handle a disconnect and then reconnect.