Break the references between Port and Link.

This is in preparation for implementing topology versioning. Ports may have
different Links in different versions of the topology, so we don't want the
reference inside the Port object. References are now held in indexes in the
NetworkGraphImpl.

As a result of this, there was a small API change:
  NetworkGraph.getLink  ->  NetworkGraph.getOutgoingLink
  NetworkGraph.getIncomingLink was added.

Change-Id: I086d198c8040607253c8729b9d5f94ab6bc738db
diff --git a/src/main/java/net/onrc/onos/core/topology/NetworkGraph.java b/src/main/java/net/onrc/onos/core/topology/NetworkGraph.java
index d450784..6133bb6 100644
--- a/src/main/java/net/onrc/onos/core/topology/NetworkGraph.java
+++ b/src/main/java/net/onrc/onos/core/topology/NetworkGraph.java
@@ -33,13 +33,23 @@
     public Port getPort(Long dpid, Long number);
 
     /**
-     * Get the outgoing link for a switch and a port.
+     * Get the outgoing link from a switch port.
      *
      * @param dpid   the switch DPID.
      * @param number the switch port number.
      * @return the outgoing link if found, otherwise null.
      */
-    public Link getLink(Long dpid, Long number);
+    public Link getOutgoingLink(Long dpid, Long number);
+    // TODO See if we should change <dpid, port_num> pairs to SwitchPort
+
+    /**
+     * Get the incoming link to a switch port.
+     *
+     * @param dpid   the switch DPID.
+     * @param number the switch port number.
+     * @return the incoming link if found, otherwise null.
+     */
+    public Link getIncomingLink(Long dpid, Long number);
 
     /**
      * Get the outgoing link from a switch and a port to another switch and