Support for traditional OpenSSL and PKCS8 RSA private key serialization

This temporarily uses the backend to do it until the alternate approach is ready. DSA/ECDSA and public key support will follow if this is deemed worthy.
These are a bit mis-leading; using the same value between PKCS8 and PKCS1 gets you totally different things, since they use differnt KDFs. I also think we should switch to using classes, instead of enums, so we vaoid issues like NoEncryption requiring you to pass an empty password