Add key sizes between 2048 and 4096 bits.
Fix generation of keys larger than 2048 bits in modulus.

When asking the card to generate keys larger than 2048 bits, the prime Q needs
to be bigger than the prime P. This is an undocumented requirement in CardOS 5
briefly hinted to by CardOS 4 documentation.
Fix extraction of large public keys.

The buffer in cardos5_extract_key() needs to be cranked to accommodate a
4096-bit public key, which is slightly larger than 512 bytes due to metadata.
Fix signing with large (> 2048-bit) keys.

When initialising the card, issue a SET DATA FIELD LENGTH command to extend the
size of the response data field. This is needed when signing with large keys.
The value chosen is enough to accomodate a 4096-bit signature + an additional
complete APDU (256 bytes).