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/main/java/org/onlab/onos/cluster/ClusterStore.java b/core/api/src/main/java/org/onlab/onos/cluster/ClusterStore.java
index 7d4b71f..4579190 100644
--- a/core/api/src/main/java/org/onlab/onos/cluster/ClusterStore.java
+++ b/core/api/src/main/java/org/onlab/onos/cluster/ClusterStore.java
@@ -8,7 +8,7 @@
 public interface ClusterStore {
 
     /**
-     * Returns the local controller instance.
+     * Returns the local controller node.
      *
      * @return local controller instance
      */
@@ -22,7 +22,7 @@
     Set<ControllerNode> getNodes();
 
     /**
-     * Returns the specified controller instance.
+     * Returns the specified controller node.
      *
      * @param nodeId controller instance identifier
      * @return controller instance
@@ -30,11 +30,18 @@
     ControllerNode getNode(NodeId nodeId);
 
     /**
-     * Returns the availability state of the specified controller instance.
+     * Returns the availability state of the specified controller node.
      *
      * @param nodeId controller instance identifier
      * @return availability state
      */
     ControllerNode.State getState(NodeId nodeId);
 
+    /**
+     * Removes the specified node from the inventory of cluster nodes.
+     *
+     * @param nodeId controller instance identifier
+     */
+    void removeNode(NodeId nodeId);
+
 }