Explicitly shutdown  m2crypto socket

Aparently some versions of the m2crypto library don't shutdown correctly
underlying sockets when a SSL connection is closed.

In Python 2.6.6 (the version in RHEL6 and in CentOS6) when the XML RPC
server closes a connection it calls the shutdown method on that
connection with sock.SHUT_WR as the parameter. This works fine for plain
sockets, and works well also for SSL sockets using the builtin ssl
module as it translates the call to shutdown to a complete shutdown of
the SSL connection. But m2crypto does an different translation and the
net result is that the underlying SSL connection is not completely
closed.

In Python 2.7.3 (the version in Fedora 18) when the XML RPC server
closes a connection it calls the shutdown method on that connection with
sock.SHUT_RDWR, so no matter what SSL implementation is used the
underlying SSL connection is completely closed.

This patch changes the SSLSocket class so that it explicitly shuts down
and closes the underlying socket when  when the connection is closed.

Change-Id: Ie1a471aaccb32554b94340ebfb92b9d7ba14407a
Signed-off-by: Juan Hernandez <juan.hernandez@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/10972
Reviewed-by: Dan Kenigsberg <danken@redhat.com>
Tested-by: Dan Kenigsberg <danken@redhat.com>
Signed-off-by: Dan Kenigsberg <danken@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/11384
Reviewed-by: Federico Simoncelli <fsimonce@redhat.com>