Bug fixes of calculating message length for InfoRequest/Reply

Changes
1. Wrap added InfoReqest processing with try..finally statement
2. InfoRequest serialize bug fix
3. Overide WriteTo() methods of DefaultLispInfoRequest
   and DefaultLispReply

Change-Id: Ifc74619508a004f3fa7c940c30a5905d2cd27963
diff --git a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispInfoReply.java b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispInfoReply.java
index 5ab4f96..dae9e10 100644
--- a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispInfoReply.java
+++ b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispInfoReply.java
@@ -43,6 +43,12 @@
 
     private final LispNatLcafAddress natLcafAddress;
 
+    static final InfoReplyWriter WRITER;
+
+    static {
+        WRITER = new InfoReplyWriter();
+    }
+
     /**
      * A private constructor that protects object instantiation from external.
      *
@@ -69,6 +75,11 @@
     }
 
     @Override
+    public void writeTo(ByteBuf byteBuf) throws LispWriterException {
+        WRITER.writeTo(byteBuf, this);
+    }
+
+    @Override
     public String toString() {
         return toStringHelper(this)
                 .add("type", getType())