ipc: RPMsg service to register multiple endpoints

This patch implements a service that adds multiendpoint
capabilities to RPMsg. Multiple endpoints are intended to be used
when multiple modules need services from a remote processor. Each
module may register one or more RPMsg endpoints.

The implementation separates backend from the service, what
allows to extend this module to support other topologies like
Linux <-> Zephyr.

Co-authored-by: Piotr Szkotak <piotr.szkotak@nordicsemi.no>
Signed-off-by: Hubert Miś <hubert.mis@nordicsemi.no>
diff --git a/CODEOWNERS b/CODEOWNERS
index 15918b4..007833e 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -552,6 +552,7 @@
 /subsys/fs/fuse_fs_access.c               @vanwinkeljan
 /subsys/fs/littlefs_fs.c                  @pabigot
 /subsys/fs/nvs/                           @Laczen
+/subsys/ipc/                              @ioannisg
 /subsys/logging/                          @nordic-krch
 /subsys/logging/log_backend_net.c         @nordic-krch @jukkar
 /subsys/lorawan/                          @Mani-Sadhasivam