DH numbers

Probably needs some parameter validation. OpenSSL's DH_check appears to do some reasonably cheap looking tests we can copy over.

(Also docs.)
Style nitpick: not a big fan of this indentation structure. How do you feel about:

```
if (not isinstance(p, int)
    or not isinstance(g, int)):
```
?