iPAddress encoding

Calling `x509cert:extensions()` on a certificate containing iPAddress SANs will return those IP addresses as raw bytes.

Additionally, if combined with `x509cert:setencode("utf8")`, the `ASN1_STRING_to_UTF8()` call will fail and nothing will be pushed.

The first first 3 commits fixes issues by returning nil instead of something invalid. The last commit uses `inet_ntop()` to convert IP addresses to the common string form.