Extract common ID generation logic using IdBlockAllocator

- Define IdGenerator<T> interface
- Implement AbstractIdBlockAllocatorBasedIdGenerator<T>, which
  has the common logic for the existing IntentId, FlowId, MatchActionId,
  and MatchActionOperationsId generator implementations.

Change-Id: I7aeea249df1710719760ed477bffe62853577e0f
diff --git a/src/main/java/net/onrc/onos/api/flowmanager/FlowId.java b/src/main/java/net/onrc/onos/api/flowmanager/FlowId.java
index 3e94c7b..3bf9a30 100644
--- a/src/main/java/net/onrc/onos/api/flowmanager/FlowId.java
+++ b/src/main/java/net/onrc/onos/api/flowmanager/FlowId.java
@@ -26,7 +26,8 @@
     /**
      * Creates new instance with string ID.
      * <p>
-     * This FlowId instance should be generated with {@link FlowIdGenerator}.
+     * This FlowId instance should be generated with
+     * {@link net.onrc.onos.core.util.IdGenerator} of flow ID.
      *
      * @param id String representation of the ID.
      */