Make AutorecoveringConnection#BeginAutomaticRecovery non-blocking

So that it does not block user-defined handlers in case recovery doesn't
succeed.
More recovery tests
merge bug26501 into stable