Improve reuse of crypto client components

Now that the crypto service provider may be extended to support
the entire set of PSA crypto operations, reuse of client side
components between different types of client has become much
more important.  This change introduces the crypto caller
component that may be specialized to support different
calling conventions and serializations.  A packed-c
specialization is implemented that provides code that
may be reused by any client taht needs to use the
packed-c serialization to talk to a crypto service instance.
To allow multiple crypto callers to co-exist within
the same build, the crypto caller is implemented as
a header file library with static inline functions.

Signed-off-by: Julian Hall <julian.hall@arm.com>
Change-Id: Iac791829470a834f1a29ef59d4442bda93220f91
diff --git a/deployments/ts-demo/ts-demo.cpp b/deployments/ts-demo/ts-demo.cpp
index 2f607e6..7ccd7dd 100644
--- a/deployments/ts-demo/ts-demo.cpp
+++ b/deployments/ts-demo/ts-demo.cpp
@@ -3,7 +3,7 @@
  * Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
  */
 
-#include <service/crypto/client/cpp/packed-c/packedc_crypto_client.h>
+#include <service/crypto/client/cpp/protocol/packed-c/packedc_crypto_client.h>
 #include <protocols/rpc/common/packed-c/encoding.h>
 #include <app/ts-demo/ts-demo.h>
 #include <service_locator.h>