Add interning of unicode strings by copying the functionality from
stringobject.c.

Intern "True" and "False" in bool_repr() again as it was in the
8bit string era.
diff --git a/Modules/main.c b/Modules/main.c
index 66dec8d..0bcd0f4 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -521,7 +521,7 @@
 #ifdef __INSURE__
 	/* Insure++ is a memory analysis tool that aids in discovering
 	 * memory leaks and other memory problems.  On Python exit, the
-	 * interned string dictionary is flagged as being in use at exit
+	 * interned string dictionaries are flagged as being in use at exit
 	 * (which it is).  Under normal circumstances, this is fine because
 	 * the memory will be automatically reclaimed by the system.  Under
 	 * memory debugging, it's a huge source of useless noise, so we
@@ -529,6 +529,7 @@
 	 * reports.  -baw
 	 */
 	_Py_ReleaseInternedStrings();
+	_Py_ReleaseInternedUnicodeStrings();
 #endif /* __INSURE__ */
 
 	return sts;