RSA*Numbers serialization interfaces.

This defines the interfaces which indicate that you can serialize some object (probably an `RSA*Key` provider) as an `RSA*Numbers` instance.

It depends on #984 but was not based on the rsa-numbers branch to make it more reviewable in isolation.
so `dump_rsa_private_number(key)` would take a backend-specific key and return an instance of RSA*Numbers (if supported)? I like that idea since it aligns well with our other interfaces...