pk_info: Make signature_size mandatory

All pk implementations must supply a signature_size method if they
support signing.
Move the function together with the other metadata functions.
diff --git a/tests/suites/test_suite_pk.function b/tests/suites/test_suite_pk.function
index f73022c..0bf9ef3 100644
--- a/tests/suites/test_suite_pk.function
+++ b/tests/suites/test_suite_pk.function
@@ -751,6 +751,7 @@
         "mock",
         opaque_mock_get_bitlen,
         opaque_mock_can_do,
+        opaque_mock_signature_size_func,
         opaque_mock_verify_func,
         opaque_mock_sign_func,
         opaque_mock_decrypt_func,
@@ -759,7 +760,6 @@
         opaque_mock_ctx_alloc_func,
         opaque_mock_ctx_free_func,
         opaque_mock_debug_func,
-        opaque_mock_signature_size_func,
     };
     mbedtls_pk_context ctx;
     unsigned char sig[OPAQUE_MOCK_SIGNATURE_SIZE] = OPAQUE_MOCK_GOOD_SIGNATURE;
@@ -868,8 +868,8 @@
         NULL,
         NULL,
         NULL,
-        opaque_mock_ctx_free_func,
         NULL,
+        opaque_mock_ctx_free_func,
         NULL,
     };
     mbedtls_pk_context ctx;
@@ -883,8 +883,7 @@
     TEST_ASSERT( mbedtls_pk_get_bitlen( &ctx ) == OPAQUE_MOCK_BITLEN );
     TEST_ASSERT( mbedtls_pk_can_do( &ctx, OPAQUE_MOCK_CAN_DO ) == 1 );
     TEST_ASSERT( mbedtls_pk_can_do( &ctx, OPAQUE_MOCK_CAN_DO ^ 1 ) == 0 );
-    TEST_ASSERT( mbedtls_pk_signature_size( &ctx ) ==
-                 ( OPAQUE_MOCK_BITLEN + 7 ) / 8 );
+    TEST_ASSERT( mbedtls_pk_signature_size( &ctx ) == 0 );
 
     TEST_ASSERT( mbedtls_pk_verify( &ctx, OPAQUE_MOCK_MD_ALG,
                                     NULL, 0, NULL, 0 ) ==
@@ -939,8 +938,8 @@
         NULL,
         NULL,
         NULL,
-        opaque_mock_ctx_alloc_fail,
         NULL,
+        opaque_mock_ctx_alloc_fail,
         NULL,
         NULL,
     };
@@ -970,6 +969,7 @@
         "RSA-opaque-wrapper",
         mbedtls_rsa_info->get_bitlen,
         mbedtls_rsa_info->can_do,
+        mbedtls_rsa_info->signature_size_func,
         mbedtls_rsa_info->verify_func,
         mbedtls_rsa_info->sign_func,
         mbedtls_rsa_info->decrypt_func,
@@ -978,7 +978,6 @@
         mbedtls_rsa_info->ctx_alloc_func,
         mbedtls_rsa_info->ctx_free_func,
         mbedtls_rsa_info->debug_func,
-        NULL, // signature_size_func: the fallback implementation is fine
     };
 
     /* Generate an RSA key to use in both contexts */