Correct failover error: failing host is immediately retried.
On connect retry, kill any pre-existing HB ticker threads.
Consolidate logic that prepares for a reconnect retry.
Retry new connection when HB send fails.

When @reliable is true, and a heart-beat send fails,
clean up the current environment, and attempt a
fail over reconnect.