types REFACTOR move union-specific functions into a standalone source file

Split the plugins_types.c file to distinct internal implementation of
plugins types API and the (base) type plugins themselves.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 34effe3..0e3fa94 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -145,6 +145,7 @@
     src/plugins_types_integer.c
     src/plugins_types_leafref.c
     src/plugins_types_string.c
+    src/plugins_types_union.c
     src/plugins_exts.c
     src/plugins_exts_metadata.c
     src/plugins_exts_nacm.c