Minor improvements around Scalar weight.

- ScalarWeight should be immutable
- Added constant for default weights
- Added factory method

Change-Id: I700e89abe968838a5049a441c37a92ffdb63f1bc
diff --git a/utils/misc/src/main/java/org/onlab/graph/DefaultEdgeWeigher.java b/utils/misc/src/main/java/org/onlab/graph/DefaultEdgeWeigher.java
index e280391..b723e0e 100644
--- a/utils/misc/src/main/java/org/onlab/graph/DefaultEdgeWeigher.java
+++ b/utils/misc/src/main/java/org/onlab/graph/DefaultEdgeWeigher.java
@@ -36,14 +36,28 @@
      */
     protected static final double NULL_WEIGHT_VALUE = 0;
 
+    /**
+     * Default weight based on hop count.
+     * {@value #HOP_WEIGHT_VALUE}
+     */
+    public static final ScalarWeight DEFAULT_HOP_WEIGHT =
+            new ScalarWeight(HOP_WEIGHT_VALUE);
+
+    /**
+     * Default initial weight.
+     * {@value #NULL_WEIGHT_VALUE}
+     */
+    public static final ScalarWeight DEFAULT_INITIAL_WEIGHT =
+            new ScalarWeight(NULL_WEIGHT_VALUE);
+
     @Override
     public Weight weight(E edge) {
-        return new ScalarWeight(HOP_WEIGHT_VALUE);
+        return DEFAULT_HOP_WEIGHT;
     }
 
     @Override
     public Weight getInitialWeight() {
-        return new ScalarWeight(NULL_WEIGHT_VALUE);
+        return DEFAULT_INITIAL_WEIGHT;
     }
 
     @Override