Introduce mbedtls_pk_restart_ctx and use it

The fact that you needed to pass a pointer to mbedtls_ecdsa_restart_ctx (or
that you needed to know the key type of the PK context) was a breach of
abstraction.

Change the API (and callers) now, and the implementation will be changed in
the next commit.
diff --git a/include/mbedtls/x509_crt.h b/include/mbedtls/x509_crt.h
index 7487df6..3388c3b 100644
--- a/include/mbedtls/x509_crt.h
+++ b/include/mbedtls/x509_crt.h
@@ -172,7 +172,7 @@
 typedef struct
 {
     /* for check_signature() */
-    mbedtls_ecdsa_restart_ctx   ecdsa;
+    mbedtls_pk_restart_ctx pk;
 
     /* for find_parent_in() */
     mbedtls_x509_crt *parent; /* non-null iff parent_in in progress */