headers MAINTENANCE headers/include cleanup

- add missing extern "C" in some of the public headers for use in C++
- includes cleanup and fix ordering
diff --git a/src/context.c b/src/context.c
index 9da44c5..52a34a5 100644
--- a/src/context.c
+++ b/src/context.c
@@ -27,11 +27,12 @@
 
 #include "common.h"
 #include "hash_table.h"
+#include "plugins_types.h"
 #include "set.h"
 #include "tree.h"
 #include "tree_data.h"
+#include "tree_schema.h"
 #include "tree_schema_internal.h"
-#include "plugins_types.h"
 
 #define LY_INTERNAL_MODS_COUNT 6