csrgen-o: handle multi-value RDNs and log dropped AVAs
The existing procedure only took the first AVA from each RDN.
Update the X509_NAME construction procedure to preserve multi-valued
RDNs.
X509_NAME_add_entry_by_txt() requires attribute short names ("CN",
"O", etc) to be in upper case, otherwise it fails to add the
attribute. Explicitly convert the user input to an Object ID
(ASN1_OBJECT) and if it fails, upper case the string and retry.
Log when an AVA cannot be added to the X509_NAME (typically because
the attribute type is not recognised).