Loosen Kryo config only for DistributedIntentStore

Change-Id: Ie3f05e2d894b0d44f7c0ad645b77c65d1f2ce02b
diff --git a/utils/misc/src/main/java/org/onlab/util/KryoNamespace.java b/utils/misc/src/main/java/org/onlab/util/KryoNamespace.java
index d44ed14..55368ad 100644
--- a/utils/misc/src/main/java/org/onlab/util/KryoNamespace.java
+++ b/utils/misc/src/main/java/org/onlab/util/KryoNamespace.java
@@ -56,6 +56,7 @@
     public static final class Builder {
 
         private final List<Pair<Class<?>, Serializer<?>>> types = new ArrayList<>();
+        private boolean registrationRequired = true;
 
         /**
          * Builds a {@link KryoNamespace} instance.
@@ -63,7 +64,7 @@
          * @return KryoNamespace
          */
         public KryoNamespace build() {
-            return new KryoNamespace(types);
+            return new KryoNamespace(types, registrationRequired);
         }
 
         /**
@@ -101,6 +102,11 @@
             types.addAll(pool.registeredTypes);
             return this;
         }
+
+        public Builder setRegistrationRequired(boolean registrationRequired) {
+            this.registrationRequired = registrationRequired;
+            return this;
+        }
     }
 
     /**
@@ -116,11 +122,11 @@
      * Creates a Kryo instance pool.
      *
      * @param registeredTypes types to register
+     * @param registrationRequired
      */
-    private KryoNamespace(final List<Pair<Class<?>, Serializer<?>>> registeredTypes) {
+    private KryoNamespace(final List<Pair<Class<?>, Serializer<?>>> registeredTypes, boolean registrationRequired) {
         this.registeredTypes = ImmutableList.copyOf(registeredTypes);
-        // always true for now
-        this.registrationRequired = true;
+        this.registrationRequired = registrationRequired;
     }
 
     /**