plugins exts CHANGE ext parsing isolated into a callback

Lots of refactoring and finishing up included.
diff --git a/src/tree_schema_free.h b/src/tree_schema_free.h
index 778190b..d79164b 100644
--- a/src/tree_schema_free.h
+++ b/src/tree_schema_free.h
@@ -50,7 +50,7 @@
  * @param[in] ctx libyang context.
  * @param[in] qname Qualified name to free.
  */
-void lysp_qname_free(struct ly_ctx *ctx, struct lysp_qname *qname);
+void lysp_qname_free(const struct ly_ctx *ctx, struct lysp_qname *qname);
 
 /**
  * @brief Free the parsed extension instance structure.