Revert "Refactored code in an attempt to break dependency cycles"

This reverts commit 195af6e6b27c23c7beb98f4cd425e7d7ffff1ecd.
diff --git a/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipRole.java b/core/api/src/main/java/org/onlab/onos/net/MastershipRole.java
similarity index 89%
rename from core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipRole.java
rename to core/api/src/main/java/org/onlab/onos/net/MastershipRole.java
index 89bdc59..10d53ad 100644
--- a/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipRole.java
+++ b/core/api/src/main/java/org/onlab/onos/net/MastershipRole.java
@@ -1,10 +1,10 @@
-package org.onlab.onos.net.device;
+package org.onlab.onos.net;
 
 /**
  * Representation of a relationship role of a controller instance to a device
  * or a region of network environment.
  */
-public enum DeviceMastershipRole {
+public enum MastershipRole {
 
     /**
      * Represents a relationship where the controller instance is the master
diff --git a/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipAdminService.java b/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipAdminService.java
index 3d31f37..78c9c39 100644
--- a/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipAdminService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipAdminService.java
@@ -2,6 +2,7 @@
 
 import org.onlab.onos.cluster.NodeId;
 import org.onlab.onos.net.DeviceId;
+import org.onlab.onos.net.MastershipRole;
 
 /**
  * Service for administering the inventory of device masterships.
@@ -15,6 +16,6 @@
      * @param deviceId device identifier
      * @param role     requested role
      */
-    void setRole(NodeId instance, DeviceId deviceId, DeviceMastershipRole role);
+    void setRole(NodeId instance, DeviceId deviceId, MastershipRole role);
 
 }
diff --git a/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipService.java b/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipService.java
index 18683ea..a44abfd 100644
--- a/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipService.java
@@ -4,6 +4,7 @@
 
 import org.onlab.onos.cluster.NodeId;
 import org.onlab.onos.net.DeviceId;
+import org.onlab.onos.net.MastershipRole;
 
 /**
  * Service responsible for determining the controller instance mastership of
@@ -20,7 +21,7 @@
      * @param deviceId the the identifier of the device
      * @return role of the current node
      */
-    DeviceMastershipRole getLocalRole(DeviceId deviceId);
+    MastershipRole getLocalRole(DeviceId deviceId);
 
     /**
      * Returns the mastership status of the local controller for a given
@@ -29,7 +30,7 @@
      * @param deviceId the the identifier of the device
      * @return the role of this controller instance
      */
-    DeviceMastershipRole requestRoleFor(DeviceId deviceId);
+    MastershipRole requestRoleFor(DeviceId deviceId);
 
     /**
      * Abandons mastership of the specified device on the local node thus
diff --git a/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipStore.java b/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipStore.java
index 9c1b3e6..ee9b253 100644
--- a/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipStore.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/DeviceMastershipStore.java
@@ -4,6 +4,7 @@
 
 import org.onlab.onos.cluster.NodeId;
 import org.onlab.onos.net.DeviceId;
+import org.onlab.onos.net.MastershipRole;
 import org.onlab.onos.store.Store;
 
 /**
@@ -20,7 +21,7 @@
      * @param deviceId device identifier
      * @return established or newly negotiated mastership role
      */
-    DeviceMastershipRole requestRole(DeviceId deviceId);
+    MastershipRole requestRole(DeviceId deviceId);
 
     /**
      * Returns the role of a device for a specific controller instance.
@@ -29,7 +30,7 @@
      * @param deviceId the device identifiers
      * @return the role
      */
-    DeviceMastershipRole getRole(NodeId nodeId, DeviceId deviceId);
+    MastershipRole getRole(NodeId nodeId, DeviceId deviceId);
 
     /**
      * Returns the master for a device.
diff --git a/core/api/src/main/java/org/onlab/onos/net/device/DeviceProvider.java b/core/api/src/main/java/org/onlab/onos/net/device/DeviceProvider.java
index 9a51a16..9934b8d 100644
--- a/core/api/src/main/java/org/onlab/onos/net/device/DeviceProvider.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/DeviceProvider.java
@@ -1,6 +1,7 @@
 package org.onlab.onos.net.device;
 
 import org.onlab.onos.net.Device;
+import org.onlab.onos.net.MastershipRole;
 import org.onlab.onos.net.provider.Provider;
 
 /**
@@ -29,6 +30,6 @@
      * @param device  affected device
      * @param newRole newly determined mastership role
      */
-    void roleChanged(Device device, DeviceMastershipRole newRole);
+    void roleChanged(Device device, MastershipRole newRole);
 
 }
diff --git a/core/api/src/main/java/org/onlab/onos/net/device/DeviceProviderService.java b/core/api/src/main/java/org/onlab/onos/net/device/DeviceProviderService.java
index 168b684..d043eca 100644
--- a/core/api/src/main/java/org/onlab/onos/net/device/DeviceProviderService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/DeviceProviderService.java
@@ -1,6 +1,7 @@
 package org.onlab.onos.net.device;
 
 import org.onlab.onos.net.DeviceId;
+import org.onlab.onos.net.MastershipRole;
 import org.onlab.onos.net.provider.ProviderService;
 
 import java.util.List;
@@ -52,6 +53,6 @@
      * @param deviceId identity of the device
      * @param role mastership role that was asserted but failed
      */
-    void unableToAssertRole(DeviceId deviceId, DeviceMastershipRole role);
+    void unableToAssertRole(DeviceId deviceId, MastershipRole role);
 
 }
diff --git a/core/api/src/main/java/org/onlab/onos/net/device/DeviceService.java b/core/api/src/main/java/org/onlab/onos/net/device/DeviceService.java
index 3a6f89b..54b9d72 100644
--- a/core/api/src/main/java/org/onlab/onos/net/device/DeviceService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/DeviceService.java
@@ -2,6 +2,7 @@
 
 import org.onlab.onos.net.Device;
 import org.onlab.onos.net.DeviceId;
+import org.onlab.onos.net.MastershipRole;
 import org.onlab.onos.net.Port;
 import org.onlab.onos.net.PortNumber;
 
@@ -42,7 +43,7 @@
      * @return designated mastership role
      */
     //XXX do we want this method here when MastershipService already does?
-    DeviceMastershipRole getRole(DeviceId deviceId);
+    MastershipRole getRole(DeviceId deviceId);
 
 
     /**
diff --git a/core/api/src/main/java/org/onlab/onos/net/device/DeviceClockProviderService.java b/core/api/src/main/java/org/onlab/onos/store/ClockProviderService.java
similarity index 64%
rename from core/api/src/main/java/org/onlab/onos/net/device/DeviceClockProviderService.java
rename to core/api/src/main/java/org/onlab/onos/store/ClockProviderService.java
index 6ef480d..fff6d15 100644
--- a/core/api/src/main/java/org/onlab/onos/net/device/DeviceClockProviderService.java
+++ b/core/api/src/main/java/org/onlab/onos/store/ClockProviderService.java
@@ -1,13 +1,14 @@
-package org.onlab.onos.net.device;
+package org.onlab.onos.store;
 
 import org.onlab.onos.net.DeviceId;
+import org.onlab.onos.net.device.DeviceMastershipTerm;
 
 //TODO: Consider renaming to DeviceClockProviderService?
 /**
 * Interface for feeding term information to a logical clock service
 * that vends per device timestamps.
 */
-public interface DeviceClockProviderService {
+public interface ClockProviderService {
 
     /**
      * Updates the mastership term for the specified deviceId.
@@ -15,5 +16,5 @@
      * @param deviceId device identifier.
      * @param term mastership term.
      */
-    public void setDeviceMastershipTerm(DeviceId deviceId, DeviceMastershipTerm term);
+    public void setMastershipTerm(DeviceId deviceId, DeviceMastershipTerm term);
 }
diff --git a/core/api/src/main/java/org/onlab/onos/net/device/DeviceClockService.java b/core/api/src/main/java/org/onlab/onos/store/ClockService.java
similarity index 83%
rename from core/api/src/main/java/org/onlab/onos/net/device/DeviceClockService.java
rename to core/api/src/main/java/org/onlab/onos/store/ClockService.java
index b979db2..20549e8 100644
--- a/core/api/src/main/java/org/onlab/onos/net/device/DeviceClockService.java
+++ b/core/api/src/main/java/org/onlab/onos/store/ClockService.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.net.device;
+package org.onlab.onos.store;
 
 import org.onlab.onos.net.DeviceId;
 
@@ -6,7 +6,7 @@
 /**
  * Interface for a logical clock service that vends per device timestamps.
  */
-public interface DeviceClockService {
+public interface ClockService {
 
     /**
      * Returns a new timestamp for the specified deviceId.
diff --git a/core/api/src/main/java/org/onlab/onos/net/device/Timestamp.java b/core/api/src/main/java/org/onlab/onos/store/Timestamp.java
similarity index 90%
rename from core/api/src/main/java/org/onlab/onos/net/device/Timestamp.java
rename to core/api/src/main/java/org/onlab/onos/store/Timestamp.java
index 8acf16c..b3caf85 100644
--- a/core/api/src/main/java/org/onlab/onos/net/device/Timestamp.java
+++ b/core/api/src/main/java/org/onlab/onos/store/Timestamp.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.net.device;
+package org.onlab.onos.store;
 
 /**
  * Opaque version structure.
diff --git a/core/api/src/main/java/org/onlab/onos/net/device/Timestamped.java b/core/api/src/main/java/org/onlab/onos/store/Timestamped.java
similarity index 97%
rename from core/api/src/main/java/org/onlab/onos/net/device/Timestamped.java
rename to core/api/src/main/java/org/onlab/onos/store/Timestamped.java
index 9d3549a..9de7b0d 100644
--- a/core/api/src/main/java/org/onlab/onos/net/device/Timestamped.java
+++ b/core/api/src/main/java/org/onlab/onos/store/Timestamped.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.net.device;
+package org.onlab.onos.store;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
diff --git a/core/api/src/main/java/org/onlab/onos/net/device/VersionedValue.java b/core/api/src/main/java/org/onlab/onos/store/VersionedValue.java
similarity index 97%
rename from core/api/src/main/java/org/onlab/onos/net/device/VersionedValue.java
rename to core/api/src/main/java/org/onlab/onos/store/VersionedValue.java
index f0233ef..70602f6 100644
--- a/core/api/src/main/java/org/onlab/onos/net/device/VersionedValue.java
+++ b/core/api/src/main/java/org/onlab/onos/store/VersionedValue.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.net.device;
+package org.onlab.onos.store;
 
 import java.util.Objects;