crypto: add RSA encryption

Continuing from #7359.

Just public encryption for now, since this is my personal use case that I can test in real life (and it works fine). I would like to receive feedback on this part before I continue.

The API is simple: `crypto.publicEncrypt(key, buf)` returns an encrypted buffer, where `buf` is the buffer to encrypt and `key` is the public key in PEM format.
Now, to make it even better, let's create a class in `node_crypto.h` called PublicKeyCipher and move these types and functions to it ;) You could remove `PKEY` prefix after that.