xplist: Assert when number of child nodes of PLIST_DICT is not even

This should only happen due to misuse of the library, e.g. when
calling plist_free() on a node that is a value node in a PLIST_DICT
without properly removing the dictionary entry (key/value pair) and
then calling plist_to_xml() on that dictionary.
diff --git a/src/xplist.c b/src/xplist.c
index 44bb5e7..6e64427 100644
--- a/src/xplist.c
+++ b/src/xplist.c
@@ -353,6 +353,9 @@
         str_buf_append(*outbuf, "\n", 1);
 
     if (isStruct) {
+        if (node_data->type == PLIST_DICT) {
+            assert((node->children->count % 2) == 0);
+        }
         node_iterator_t *ni = node_iterator_create(node->children);
         node_t *ch;
         while ((ch = node_iterator_next(ni))) {