feat(notifications): bind and unbind

Handle bind and unbind interfaces. The bind interface is intended for a
given receiver to enable a sender to set the specified notifications.
The unbind interface revokes the sender's ability to set the specified
notifications.
Bindings are tracked per notification in the receiver's vm structure.
This patch adds handling to FFA_NOTIFICATION_BIND and
FFA_NOTIFICATION_UNBIND, functions to validate the bindings,
as well as to make any bindings updates.

Change-Id: I7c70fe4e1285d6f58738d0229568666ce2075d12
Signed-off-by: J-Alves <joao.alves@arm.com>
diff --git a/inc/vmapi/hf/ffa.h b/inc/vmapi/hf/ffa.h
index cb0e0e9..af2b756 100644
--- a/inc/vmapi/hf/ffa.h
+++ b/inc/vmapi/hf/ffa.h
@@ -399,6 +399,12 @@
 #define MAX_FFA_NOTIFICATIONS 64U
 
 /**
+ * Flag for notification bind and set, to specify call is about per-vCPU
+ * notifications.
+ */
+#define FFA_NOTIFICATION_FLAG_PER_VCPU UINT32_C(1 << 0)
+
+/**
  * Helper function to assemble a 64-bit sized bitmap, from the 32-bit sized lo
  * and hi.
  * Helpful as FF-A specification defines that the notifications interfaces