Correct a few minor bugs

The function name for bio_write was accidentally bio_read, probably copy/paste-o
from_ssl and into_ssl were not initialized to NULL, so later NULL checks might give the wrong results
Two test methods named test_connect were defined, so only the second ever ran
diff --git a/src/ssl/connection.c b/src/ssl/connection.c
index 4cdd53d..8708e80 100755
--- a/src/ssl/connection.c
+++ b/src/ssl/connection.c
@@ -260,7 +260,7 @@
             return NULL;
     }
 
-    if (!PyArg_ParseTuple(args, "s#|i:bio_read", &buf, &len))
+    if (!PyArg_ParseTuple(args, "s#|i:bio_write", &buf, &len))
         return NULL;
 
     ret = BIO_write(self->into_ssl, buf, len);
@@ -1126,6 +1126,8 @@
     self->socket = sock;
 
     self->ssl = NULL;
+    self->from_ssl = NULL;
+    self->into_ssl = NULL;
 
     Py_INCREF(Py_None);
     self->app_data = Py_None;
diff --git a/test/test_ssl.py b/test/test_ssl.py
index 82dacb3..0b68838 100644
--- a/test/test_ssl.py
+++ b/test/test_ssl.py
@@ -490,7 +490,7 @@
         self.assertEqual(client_conn.server_random(), server_conn.server_random())
 
 
-    def test_connect(self):
+    def test_socketOverridesMemory(self):
         """
         Test that L{OpenSSL.SSL.bio_read} and L{OpenSSL.SSL.bio_write} don't
         work on L{OpenSSL.SSL.Connection}() that use sockets.