First attempt at creating a more GeneralNames based  X509SubjectAltnativeName class

The tests will fail untill the X509_NAME_free and X509V3_EXT_d2i are exposed from the cryptography project.  This new get_subject_alt_name method will split up the alt Names into seperate components.


Don't call `__str__` directly.  Use `str(self.type)`.  But you don't have to do that because `%s` implies `str()`.  `(%s, %s) % (self.type, self.value)` does the same thing.

It may also make sense to use `%r` here in case `type` and `value` might have special characters in them.  I'm not sure about this because I don't yet know what information `type` and `value` are meant to convey. :smile: