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/printer_yang.c b/src/printer_yang.c
index 520e6de..29df721 100644
--- a/src/printer_yang.c
+++ b/src/printer_yang.c
@@ -824,12 +824,13 @@
 }
 
 static void
-yprc_dflt_value(struct lys_ypr_ctx *ctx, const struct lyd_value *value, struct lysc_ext_instance *exts)
+yprc_dflt_value(struct lys_ypr_ctx *ctx, const struct ly_ctx *ly_ctx, const struct lyd_value *value,
+        struct lysc_ext_instance *exts)
 {
     ly_bool dynamic;
     const char *str;
 
-    str = value->realtype->plugin->print(value, LY_VALUE_JSON, NULL, &dynamic);
+    str = value->realtype->plugin->print(ly_ctx, value, LY_VALUE_JSON, NULL, &dynamic, NULL);
     ypr_substmt(ctx, LY_STMT_DEFAULT, 0, str, exts);
     if (dynamic) {
         free((void *)str);
@@ -1487,7 +1488,7 @@
     }
 
     if (leaf->dflt) {
-        yprc_dflt_value(ctx, leaf->dflt, leaf->exts);
+        yprc_dflt_value(ctx, node->module->ctx, leaf->dflt, leaf->exts);
     }
 
     yprc_node_common2(ctx, node, NULL);
@@ -1552,7 +1553,7 @@
         yprc_must(ctx, &llist->musts[u], NULL);
     }
     LY_ARRAY_FOR(llist->dflts, u) {
-        yprc_dflt_value(ctx, llist->dflts[u], llist->exts);
+        yprc_dflt_value(ctx, node->module->ctx, llist->dflts[u], llist->exts);
     }
 
     ypr_config(ctx, node->flags, node->exts, NULL);