Update the RPC layer
This commit merges the 'tforg/topics/ts-rpc' into integration. The
change overhauls the RPC layer implement the following changes:
- allow RPC compatibility check be adding versioning to the RPC layer
- allow multiple memory shares between FF-A endpoints. (This was a
concerning limitation for NWd endpoints where multiple clients
may operate).
- add service discovery support. After this change all SPs use the
same FF-A UUID. This means the FF-A UUID identifies the protocol and
not the service as before. As a result, to locate a service further
discovery is needed on top of FF-A discovery. This is implemented
in the RPC layer for performance reasons.
- update discovery implementation and add the new discovery step
needed after service locator locates the SP.
- change protocol encoding types to be represented as dedicated
interfaces of an SP. This removes encoding type identifiers and
replaces these with service UUIDs.
- add RPC ABI documentation
Change-Id: I7fbb28b17d44b04578595c8725674624297f01a0
Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>