uses R509::MessageDigest::DEFAULT_MD rather than 'sha1' everywhere
update messagedigest to allow default creation

Previously r509 specified a default md as fallback in several separate
places. This modification allows it all to reside within a single class
and simplifies the code in several other places
simplify MessageDigest creation in CSR.new

Leverages previous MessageDigest default improvement
simplify MessageDigest creation in SPKI.new

leverages previous MessageDigest improvements
update R509::ASN1.general_name_parser

The method now supports passing an existing GeneralNames object, which
will just be returned back unaltered. This simplifies code in several
places.

Also updated the yardoc on the CSR object to reflect the fact that you
can (thanks to the parser change) pass a GeneralNames object for
:san_names