management: Implementing nrd::PrefixRegOptions for NRD Face management protocol

Also in this commit fixes to nfd::FibManagementOptions data structure.

Change-Id: I1ade7df6a18798d9d0881c66a238b0ea84680623
diff --git a/src/encoding/encoding-buffer.hpp b/src/encoding/encoding-buffer.hpp
index c9abd31..1659c52 100644
--- a/src/encoding/encoding-buffer.hpp
+++ b/src/encoding/encoding-buffer.hpp
@@ -512,6 +512,18 @@
 
 template<bool P>
 inline size_t
+prependByteArrayBlock(EncodingImpl<P>& blk, uint32_t type, const uint8_t* array, size_t arraySize)
+{
+  size_t var_len = blk.prependByteArray(array, arraySize);
+  size_t total_len = var_len;
+  total_len += blk.prependVarNumber(var_len);
+  total_len += blk.prependVarNumber(type);
+
+  return total_len;
+}
+
+template<bool P>
+inline size_t
 prependBooleanBlock(EncodingImpl<P>& blk, uint32_t type)
 {
   size_t total_len = blk.prependVarNumber(0);
diff --git a/src/encoding/tlv-nrd.hpp b/src/encoding/tlv-nrd.hpp
new file mode 100644
index 0000000..6dcbbfd
--- /dev/null
+++ b/src/encoding/tlv-nrd.hpp
@@ -0,0 +1,38 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
+/*
+ * Copyright (c) 2013, Regents of the University of California
+ *
+ * BSD license, See the LICENSE file for more information
+ *
+ * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
+ */
+
+#ifndef NDN_TLV_NRD_HPP
+#define NDN_TLV_NRD_HPP
+
+#include "tlv.hpp"
+
+namespace ndn {
+namespace tlv {
+namespace nrd {
+
+enum {
+  PrefixRegOptions = 101,
+  FaceId           = 102,
+  Flags            = 103,
+  Cost             = 104,
+  ExpirationPeriod = 105,
+  StrategyName     = 106,
+  Protocol         = 107,
+};
+
+enum {
+  NDN_FORW_CHILD_INHERIT = 1,
+  NDN_FORW_CAPTURE       = 2,
+};
+
+} // namespace nrd
+} // namespace tlv
+} // namespace ndn
+
+#endif // NDN_TLV_NRD_HPP