RFB._fail() can be called at any time in any state, it is not certain that we will get a close event on the socket since the socket might not be open. This caused us to hit the disconnect timeout in such cases. Fixes issue #678