Merge pull request #545 from public/error-strings

More detailed error message for InternalError
Only put a single top level header in this page
Merge pull request #546 from alex/cleanup-index

Only put a single top level header in this page
Merge pull request #548 from public/rename-key-length

Rename RSAs key_length to key_size
Merge pull request #547 from public/bn-maths

OpenSSL BN math
RSA keys

These are implemented such that they don't depend on the backend. This
means we don't have to worry about passing an RSA key created with one
backend to a different one so much at the expense of having to create a
backend specific context on demand.

This is slightly non-trivial in (at least) OpenSSL as there are 3
additional derived parameters kept in its RSA struct. They aren't
difficult to generate but it requires adding 30-40 lines of BN_* stuff
to the backend so I'm leaving that out for now. We'll need to implement
that before we can actually do any useful operations with the keys.

This also adds a loader for some of the PKCS #1 test vectors. It only
extracts the 10 key pairs from pss_vect.txt currently be should be
extenable to include the example signatures and other files later.