Added graceful shutdown for upstart service.
Reworked slightly the mastership & device managers and stores to make it work (sort-of) in the distributed env.
diff --git a/core/api/src/test/java/org/onlab/onos/cluster/MastershipServiceAdapter.java b/core/api/src/test/java/org/onlab/onos/cluster/MastershipServiceAdapter.java
new file mode 100644
index 0000000..4b3b7dc
--- /dev/null
+++ b/core/api/src/test/java/org/onlab/onos/cluster/MastershipServiceAdapter.java
@@ -0,0 +1,43 @@
+package org.onlab.onos.cluster;
+
+import org.onlab.onos.net.DeviceId;
+import org.onlab.onos.net.MastershipRole;
+
+import java.util.Set;
+
+/**
+ * Test adapter for mastership service.
+ */
+public class MastershipServiceAdapter implements MastershipService {
+    @Override
+    public MastershipRole getLocalRole(DeviceId deviceId) {
+        return null;
+    }
+
+    @Override
+    public MastershipRole requestRoleFor(DeviceId deviceId) {
+        return null;
+    }
+
+    @Override
+    public void relinquishMastership(DeviceId deviceId) {
+    }
+
+    @Override
+    public NodeId getMasterFor(DeviceId deviceId) {
+        return null;
+    }
+
+    @Override
+    public Set<DeviceId> getDevicesOf(NodeId nodeId) {
+        return null;
+    }
+
+    @Override
+    public void addListener(MastershipListener listener) {
+    }
+
+    @Override
+    public void removeListener(MastershipListener listener) {
+    }
+}