Refactor Secure storage into frontend/backend

The secure storage service components are refactored as storage
frontends and backends.  Any frontend can be paired with any
backend.  Each backend implements a common interface.  This
allows new storage frontends and backends to be added more
easily and allows configurations such as proxies to be
created by simply pairing a service provider (frontend) with
a service client (backend).

Signed-off-by: Julian Hall <julian.hall@arm.com>
Change-Id: I5ef569ff3b61f64d6de69276d2b33e67a7ab0fa6
56 files changed