Retry new connection when HB read fails. First cut:

When @reliable is true, and a heart-beat receive fails,
clean up the current environment, and attempt a
fail over reconnect under the following conditions:

* The :max_hbread_fails connect hash parameter is greater than 0
* The running read failure count is greater than :max_hbread_fails
Correct another case where fail over host is not switched correctly.
Add exception handling to heartbeat reader.
Retry new connection on HB read lock obtain fail.

When @reliable is true, and a read heart-beat can not obtain the
read lock, clean up the current environment, and attempt a
fail over reconnect under the following conditions:

* The :max_hbrlck_fails connect hash parameter is greater than 0
* The running obtain failure count is greater than :max_hbrlck_fails
Tweak callback logger example.
Tweak callback logger used in unit tests.
Add missed comment about new HB read lock parameter.
Update spec tests with new parameters.
Change comparison operator for more clarity.