[Super WIP] RSA Support

This is an ultra-WIP PR for adding the first bits of asymmetric support. It has (but is not limited to) the following major issues:

* No test vectors
* Incomplete/WIP API
* Limited error handling
* Improper functions being used for signing/encryption (investigating EVP methods is next on my list)
* Hardcoded things all over the place!

It is being pushed up so we can talk about our approach and figure out what can be split up into separate PRs.

Now, what does work:

* RSA generation
* RSA loading (PKCS8, DER/PEM with and without password)
* RSA serializing (same as above)
* RSA public key from private key
* RSA public key from modulus + exponent (needed for test vectors eventually)
* Signing/encryption that is likely to be completely insecure and does not allow selection of padding or anything else