Fix Socketry::SSL::Socket#close
Fix Socketry::SSL::Socket#close

124a50a0 introduced a regression in the close behavior on Ruby 2.2.x
by adding the following line:

    @ssl_socket.sync_close = true

This closes the underlying TCP socket when the OpenSSL::SSL::SSLSocket wrapping
it is closed.

Unfortunately Socketry::SSL::Socket#close was calling "super" which invoked the
corresponding ::TCPSocket close methods, but at the *end* after closing the
OpenSSL::SSL::SSLSocket, which already took care of closing the ::TCPSocket
thanks to `#sync_close = true`

We still want to call super though, to ensure the instance variables associated
with the TCP socket are properly cleared.

Solution: call `super` *first* to close the TCP socket and clear the associated
instance variables, then close the OpenSSL::SSL::SSLSocket. This ensures both
are closed, their associated instance variables cleared, and won't error out if
the TCP socket is already closed.

This should ensure that all sockets are closed in all cases, even if someone
manages to obtain the raw OpenSSL::SSL::SSLSocket or its underlying ::TCPSocket.

socketry/socketry,socketry/socketry