Statically verify interface implementations, and fix all the resulting bugs
diff --git a/cryptography/utils.py b/cryptography/utils.py
index 8fbcabc..03c8c0e 100644
--- a/cryptography/utils.py
+++ b/cryptography/utils.py
@@ -23,6 +23,7 @@
 
 def register_interface(iface):
     def register_decorator(klass):
+        verify_interface(iface, klass)
         iface.register(klass)
         return klass
     return register_decorator