at last - avoid ASN1's static maps leaking as multiple runtimes startup and shutdown
backported MiscPEMGenerator class from bcpkix latest (master)
MiscPEMGenerator tuned to work on BC 1.47 as well as 1.48+
support for compiling source under BC 1.48 (1.47 is still working as well)
PKey (internal) cleanup - make sure we do not concatenate strings unless isDebug
add a spec for `OpenSSL::PKey::RSA.new` regression - working fine as is (fixes #357)

not tested on Mac (only Linux with Java 1.7.0_51) but we're now not simply doing `Cipher.getInstance(String)` ... we're first attempt to consult (BC) provider directly
cleanup our internal PEMUtilities copy-pasted from BC to only the parts we really need
good idea to synchronize while updating the maps programatically (from user code)
one more hidden place where we're not using SecurityHelper but security API directly
de-ja-vu BC 1.49 (binary) compatibility while still maintaining 1.47 compatibility

- a better 941ab0434d209c8f (part) which got reverted
- tested #1238 regression - fine on 1.47 as well as 1.49 with this change