Implement heartbeat ACK handling (see also #72)
Implement heartbeat ACK handling (see also #72)

If a heartbeat is not acked by the time the next heartbeat is scheduled
to be sent, the client will reconnect and attempt to resume the session.

Also refactors reconnection into its own (publicly accessible) method.

meew0/discordcr