validation NEW default values creation

Also a lot of other refactoring and
improvements. No tests yet.
diff --git a/src/log.c b/src/log.c
index e04f6c3..22d6855 100644
--- a/src/log.c
+++ b/src/log.c
@@ -423,6 +423,10 @@
         *path = lysc_path(elem, LYSC_PATH_LOG, NULL, 0);
         LY_CHECK_ERR_RET(!(*path), LOGMEM(ctx), LY_EMEM);
         break;
+    case LY_VLOG_LYD:
+        *path = lyd_path(elem, LYD_PATH_LOG, NULL, 0);
+        LY_CHECK_ERR_RET(!(*path), LOGMEM(ctx), LY_EMEM);
+        break;
     default:
         /* shouldn't be here */
         LOGINT_RET(ctx);