Handle when an OpenSSL error doesn't contain a reason

(Or any other field)

You can reproduce the error by running:

```
treq.get('https://nile.ghdonline.org')
```

from within a twisted program (and doing the approrpiate deferred stuff).

I'm unsure how to craft a unit test for this
diff --git a/OpenSSL/_util.py b/OpenSSL/_util.py
index baeecc6..8e30487 100644
--- a/OpenSSL/_util.py
+++ b/OpenSSL/_util.py
@@ -7,6 +7,8 @@
 
 def exception_from_error_queue(exceptionType):
     def text(charp):
+        if not charp:
+            return ""
         return native(ffi.string(charp))
 
     errors = []