Add string attributes to self-containd objects.

- Add common super class to *Event classes, which handles attributes.
- Add string attributes to *Event classes (ONOS-1564)
- Populate string attributes.
  Picked random attribute obtained from OF, just to initially populate attrs.
  Attributes to be used for each elements should be revisited later.
- *Impl class to use/reference self-contained objects
   prep-work for snapshot in mind.
- unified equals implementations
- Add unfrozen Copy constructor.
- Add freeze check to fixed attributes.
- Remove get*Impl which was not really adding value.

Change-Id: I10f9538f87d133a22237bd8ab97b8de421d3930b
diff --git a/src/main/java/net/onrc/onos/core/topology/Device.java b/src/main/java/net/onrc/onos/core/topology/Device.java
index 9c4833e..a3eaf8b 100644
--- a/src/main/java/net/onrc/onos/core/topology/Device.java
+++ b/src/main/java/net/onrc/onos/core/topology/Device.java
@@ -25,7 +25,8 @@
     /**
      * Get the device attachment points.
      * <p/>
-     * Add requirement for Iteration order? Latest observed port first.
+     * TODO: There is only 1 attachment point right now.
+     * TODO: Add requirement for Iteration order? Latest observed port first.
      *
      * @return the device attachment points.
      */
@@ -34,9 +35,8 @@
     /**
      * Get the device last seen time.
      * <p/>
-     * TODO: what is the time definition?
      *
-     * @return the device last seen time.
+     * @return the device last seen time. (UTC in ms)
      */
     public long getLastSeenTime();
 }