[SDFAB-933] Integrate atomix-3.1.12 and expose demote API

Additionally, this patch adds unit tests for demote and
updates a bunch of testing tools

Change-Id: I9636078b08486c9167ae253f0251f72239ad2802
diff --git a/core/api/src/main/java/org/onosproject/mastership/MastershipStore.java b/core/api/src/main/java/org/onosproject/mastership/MastershipStore.java
index 7f43a15..6a9fbf8 100644
--- a/core/api/src/main/java/org/onosproject/mastership/MastershipStore.java
+++ b/core/api/src/main/java/org/onosproject/mastership/MastershipStore.java
@@ -129,4 +129,13 @@
      * @param nodeId the controller instance identifier
      */
     void relinquishAllRole(NodeId nodeId);
+
+    /**
+     * Attempts to demote a node to the bottom of the backup list. It is not allowed
+     * to demote the current master
+     *
+     * @param instance controller instance identifier
+     * @param deviceId device identifier
+     */
+    void demote(NodeId instance, DeviceId deviceId);
 }