An assorting of rewriting, guided by the test suite but with an unfortunately necessary broadness of scope

many of the tests depend on multiple types, and many type implementations depend
on other types in a circular fashion, so a type-by-type approach does not really
work.  still, things are going fairly well.
diff --git a/OpenSSL/test/util.py b/OpenSSL/test/util.py
index 79da76b..ad3f30c 100644
--- a/OpenSSL/test/util.py
+++ b/OpenSSL/test/util.py
@@ -50,6 +50,7 @@
                 self.fail("Left over errors in OpenSSL error queue: " + repr(e))
 
 
+
     def failUnlessIn(self, containee, container, msg=None):
         """
         Fail the test if :py:data:`containee` is not found in :py:data:`container`.