Add ecdsa_context structure
Add ecdsa_init and ecdsa_free
Add ecp_keypair struct, init/free and constants
Add ecp_check_prvkey, with test

Also group key checking and generation functions in ecp.h and ecp.c.
Rename x509parse_key & co with _rsa suffix
Fix a comment and some whitespace
Add stubs for x509parse_key_ec and co.
Add test for x509parse_public_keyfile_ec
Optionally allow parameters in x509_get_tag()
Fix bug in oid_get_numeric_string()

Overflow check was done too early, causing many false positives.
Make oid_get_pk_alg handle EC algorithms
Add oid_get_ec_grp() and associated data
Add x509_get_ecparams()
Complete x509parse_public_key_ec()

Warning: due to a bug in oid_descriptor_from_buf(), keys associated to some
curves (secp224r1, secp384r1, secp521r1) are incorrectly rejected,
since their namedCurve OID contains a nul byte.
Fill in x509parse_key_ec using stub function
Add tests for x509parse_key_ec()

Test files were generated as follows:

openssl ecparam -name prime192v1 -genkey > key.pem

openssl ec -in key.pem -pubout -outform PEM > pub.pem
openssl ec -in key.pem -pubout -outform DER > pub.der

openssl ec -in key.pem -outform pem > prv.sec1.pem
openssl ec -in key.pem -outform der > prv.sec1.der
openssl ec -in key.pem -des -passout pass:polar -outform pem > prv.sec1.pw.pem

openssl pkcs8 -topk8 -in key.pem -nocrypt -outform pem > prv.pk8.pem
openssl pkcs8 -topk8 -in key.pem -nocrypt -outform der > prv.pk8.der
openssl pkcs8 -topk8 -in key.pem -passout pass:polar -outform der \
    > prv.pk8.pw.der
openssl pkcs8 -topk8 -in key.pem -passout pass:polar -outform pem \
    > prv.pk8.pw.pem
Implement x509parse_key_sec1_der()
Fix undocumented feature of pem_read_buffer()

Used to work only for RSAPrivateKey content, now accepts ECPrivateKey too,
and may even work with similar enough structures when they appear.
Implement x509parse_key_pkcs8_unencrypted_der_ec()
Split up x509_parse_pkcs8_encrypted_der()