Re-implement the 'warnings' module in C. This allows for usage of the
'warnings' code in places where it was previously not possible (e.g., the
parser). It could also potentially lead to a speed-up in interpreter start-up
if the C version of the code (_warnings) is imported over the use of the
Python version in key places.

Closes issue #1631171.
diff --git a/PC/config.c b/PC/config.c
index 9cce923..688edc9 100644
--- a/PC/config.c
+++ b/PC/config.c
@@ -66,6 +66,7 @@
 extern void init_subprocess(void);
 extern void init_lsprof(void);
 extern void init_ast(void);
+extern void _PyWarnings_Init(void);
 
 /* tools/freeze/makeconfig.py marker for additional "extern" */
 /* -- ADDMODULE MARKER 1 -- */
@@ -160,6 +161,9 @@
         {"sys", NULL},
 	{"exceptions", NULL},
         
+        {"_types", init_types},
+        {"_warnings", _PyWarnings_Init},
+
         /* Sentinel */
         {0, 0}
 };