simplify ASN1's runtime mappings (preparing to avoid leakage) + cleanup the internals
X509Cert cleanup
unify error location and naming convention as well as OpenSSL::X constant resolution +

- when looping through Ruby arrays there's no need to do the toJava conversions
- ASN1 got a new decodeImpl that should be used by other in the package
- ASN1Data "internal" printing now happens on STDOUT instead of System.out
- X509::CRL's extension now behaves more Ruby-sh - set array is kept/returned
- dried-up and made some of the X509::Extension implementation more dev friendly
improved HMAC internals & less string/bytes garbage on digests + re-invented hex-ing
review ASN1.decode usage in Attribute#value= there was a "double" to_der_if_possible
less of our own deprecations + cleanup (some left over 1.7 incompatible imports in BN)
more X509Name cleanup - added a debug for suspicious exception + reviewed list fields
more stack trace debugging - esp. due "strange" occasional failures RSA failures
decrade GeneralSecurityException signature + allow to pass key factory + fix "DSA" typo
tune debugging and align DSA/RSA PKey impls - share some common initialize pieces
some less traces from RSA/DSA while running with `-J-Djruby.openssl.debug=true`
sharing `Utils.toHex` implementation caused a HMAC regression
PKCS7 internal cleanup
remove unused imports
handle HMAC's key/data arguments using `to_s` instead of `to_str`
improve BN's (to_i) conversion to happen without the "middle-man"
reformat SSLSocket and add debug-ing around exceptions + fix some method names
these seems to prefer `to_s` over `to_str` conversion
avoid getClassFromPath since `X509.wrap` is called from a loop
toASN1: use `to_s` & "optimize" for the BN case - avoid the need to rebuild a big int