libyang CHANGE add LY_VALUE_CANON

Add a separate value format of the canonical representation of the type.
The print callback API of the type plugins was modified to reflect the
need of creating canonical representation of the value.
diff --git a/src/xpath.c b/src/xpath.c
index 450968b..91f3d51 100644
--- a/src/xpath.c
+++ b/src/xpath.c
@@ -5319,6 +5319,7 @@
             /* current module */
             mod = set->cur_mod;
             break;
+        case LY_VALUE_CANON:
         case LY_VALUE_JSON:
             /* inherit parent (context node) module */
             if (ctx_scnode) {
@@ -5394,6 +5395,7 @@
                 moveto_mod = ctx_node->schema->module;
             }
             break;
+        case LY_VALUE_CANON:
         case LY_VALUE_XML:
             /* not defined */
             LOGINT(set->ctx);
@@ -5455,6 +5457,7 @@
                 moveto_mod = ctx_scnode->module;
             }
             break;
+        case LY_VALUE_CANON:
         case LY_VALUE_XML:
             /* not defined */
             LOGINT(set->ctx);