unsigned PortNumber

PortNumber class update
- internal representation now uses int
- toString() now converts the value as unsigned integer
- renamed value() to shortValue()
- added value() method returning port number as unsigned long
- added constructor from String
- JSON serialization now uses the new value(), so that special handling for
  unsigned integer is not required

Update classes using PortNumber
- Replaced value() calls with new value(), when the return value was
  converted to long immediately.
- toString() result may change if the object contained PortNumber.
  - e.g., FlowEntryAction, FlowEntry, SwitchPort, ...

Change-Id: I0b1f8aa92208e165b6113c8dd6954076c0513167
diff --git a/src/test/java/net/onrc/onos/core/util/LinkTupleTest.java b/src/test/java/net/onrc/onos/core/util/LinkTupleTest.java
index 88c2ca9..06cce85 100644
--- a/src/test/java/net/onrc/onos/core/util/LinkTupleTest.java
+++ b/src/test/java/net/onrc/onos/core/util/LinkTupleTest.java
@@ -143,8 +143,7 @@
      */
     @Test
     public void testToString() {
-        // FIXME when we start handling unsigned integer properly
-        assertEquals("(00:00:00:00:00:00:00:01/-1=>00:00:00:00:00:00:00:02/-2)",
+        assertEquals("(00:00:00:00:00:00:00:01/65535=>00:00:00:00:00:00:00:02/65534)",
                      L2.toString());
     }