make: Global change: Move all public headers to include folder.  Change source to including public headers using #include <ndn-cpp/*>. Split some header files to minimize exposing C .h files.
diff --git a/ndn-cpp/c/encoding/binary-xml-decoder.h b/ndn-cpp/c/encoding/binary-xml-decoder.h
index 3e16497..38fd450 100644
--- a/ndn-cpp/c/encoding/binary-xml-decoder.h
+++ b/ndn-cpp/c/encoding/binary-xml-decoder.h
@@ -7,7 +7,7 @@
 #ifndef NDN_BINARYXMLDECODER_H
 #define NDN_BINARYXMLDECODER_H
 
-#include "../common.h"
+#include <ndn-cpp/c/common.h>
 #include "../errors.h"
 #include "../util/blob.h"
 
diff --git a/ndn-cpp/c/encoding/binary-xml-element-reader.h b/ndn-cpp/c/encoding/binary-xml-element-reader.h
index c2b3777..89f8c8d 100644
--- a/ndn-cpp/c/encoding/binary-xml-element-reader.h
+++ b/ndn-cpp/c/encoding/binary-xml-element-reader.h
@@ -4,9 +4,10 @@
  * See COPYING for copyright and distribution information.
  */
 
-#ifndef NDN_BINARYXMLELEMENTREADER_H
-#define NDN_BINARYXMLELEMENTREADER_H
+#ifndef NDN_BINARY_XML_ELEMENT_READER_H
+#define NDN_BINARY_XML_ELEMENT_READER_H
 
+#include <ndn-cpp/c/encoding/element-listener.h>
 #include "../errors.h"
 #include "binary-xml-structure-decoder.h"
 #include "../util/dynamic-uint8-array.h"
@@ -14,25 +15,6 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
-
-/** An ndn_ElementListener struct holds a function pointer onReceivedElement.  You can extend this struct with data that
- * will be passed to onReceivedElement.
- */
-struct ndn_ElementListener {
-  void (*onReceivedElement)(struct ndn_ElementListener *self, uint8_t *element, size_t elementLength); /**< see ndn_ElementListener_initialize */
-};
-
-/**
- * Initialize an ndn_ElementListener struct to use the onReceivedElement function pointer.
- * @param self pointer to the ndn_ElementListener struct
- * @param onReceivedElement pointer to a function which is called when an entire binary XML element is received.
- * self is the pointer to this ndn_ElementListener struct.  See ndn_BinaryXmlElementReader_onReceivedData.
- */
-static inline void ndn_ElementListener_initialize
-  (struct ndn_ElementListener *self, void (*onReceivedElement)(struct ndn_ElementListener *self, uint8_t *element, size_t elementLength))
-{
-  self->onReceivedElement = onReceivedElement;
-}
   
 /**
  * A BinaryXmlElementReader lets you call ndn_BinaryXmlElementReader_onReceivedData multiple times which uses an
diff --git a/ndn-cpp/c/encoding/binary-xml-key.h b/ndn-cpp/c/encoding/binary-xml-key.h
index 6aecd20..391fa72 100644
--- a/ndn-cpp/c/encoding/binary-xml-key.h
+++ b/ndn-cpp/c/encoding/binary-xml-key.h
@@ -7,8 +7,8 @@
 #ifndef NDN_BINARYXMLKEY_H
 #define NDN_BINARYXMLKEY_H
 
-#include "../errors.h"
 #include "../key.h"
+#include "../errors.h"
 #include "binary-xml-encoder.h"
 #include "binary-xml-decoder.h"
 
diff --git a/ndn-cpp/c/encoding/binary-xml-structure-decoder.h b/ndn-cpp/c/encoding/binary-xml-structure-decoder.h
index 63420d2..54a92d5 100644
--- a/ndn-cpp/c/encoding/binary-xml-structure-decoder.h
+++ b/ndn-cpp/c/encoding/binary-xml-structure-decoder.h
@@ -7,7 +7,7 @@
 #ifndef NDN_BINARYXMLSTRUCTUREDECODER_H
 #define NDN_BINARYXMLSTRUCTUREDECODER_H
 
-#include "../common.h"
+#include <ndn-cpp/c/common.h>
 #include "../errors.h"
 
 #ifdef __cplusplus