add rsa_generate_private_key function to replace RSAPrivateKey.generate

refs #1026. #1101 is dependent on this
Yeah I wasn't sure. I left it `generate_rsa_private_key` in case people imported the function directly but I have no real preference.

Right now in my backend specific branch I have `RSAPrivateKey.generate` still return an instance of `RSAPrivateKey` to maintain compatibility while `generate_rsa_private_key` returns a backend specific provider. Underneath they actually end up calling different backend functions (although one will go away once the deprecation cycle is complete).