Remove in_transaction? check from failover, as it tries to reconnect

After disconnecting from a database in #hold’s super method,
we are unable to know if the connection has any open transactions.
Attempting to check forces the connection to be re-established,
which when the server is down causes Sequel to go into an infinite
loop.

As a part of this commit, we remove recursion from the #hold
method, replacing it with a loop.
rename “stick” to “retry”

changes names of callback methods on connection pool
to #register_on_retry_callback and #register_on_reset_callback
Make #failing_over? a first class citizen
Add callbacks to readme
Version 2.0.0

Non-backwards compatible changes:
- changing callback registration methods:
  - #register_on_retry_callback
  - #register_on_reset_callback

New functionality:
- ability to ask pool.failing_over?