refactor GeneralName, GeneralNames#create_item, and the

general_name_parser to allow unencoded data in a...less lousy way
change the error type when passing a CSR to the Cert object.

formerly an R509Error, now an ArgumentError