[ext/openssl] Fix DSA public key PEM encoding
Related to http://redmine.ruby-lang.org/issues/show/4421.
The difference is that DSA already uses the "right" function for DER encoding,
but the "wrong" function (PEM_write_bio_DSAPublicKey instead of
PEM_write_bio_DSA_PUBKEY) for PEM encoding.
Similar to the RSA case, fallbacks in initialize are also re-prioritized
and again this should cause no trouble because initialize recognizes all
of the formats.