mesa,glsl,mapi: Put extern "C" { ... } where appropriate.

Probably a several places missing, but enough to cover all headers
(in)directly included by uniform_query.cpp, and fix the MSVC build.
diff --git a/src/mesa/program/prog_statevars.h b/src/mesa/program/prog_statevars.h
index 04af3f4..8b731e1 100644
--- a/src/mesa/program/prog_statevars.h
+++ b/src/mesa/program/prog_statevars.h
@@ -25,8 +25,15 @@
 #ifndef PROG_STATEVARS_H
 #define PROG_STATEVARS_H
 
+
 #include "main/glheader.h"
 
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
 struct gl_context;
 struct gl_program_parameter_list;
 
@@ -145,4 +152,8 @@
 _mesa_load_tracked_matrices(struct gl_context *ctx);
 
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* PROG_STATEVARS_H */