Add the 'bool' type and its values 'False' and 'True', as described in
PEP 285.  Everything described in the PEP is here, and there is even
some documentation.  I had to fix 12 unit tests; all but one of these
were printing Boolean outcomes that changed from 0/1 to False/True.
(The exception is test_unicode.py, which did a type(x) == type(y)
style comparison.  I could've fixed that with a single line using
issubtype(x, type(y)), but instead chose to be explicit about those
places where a bool is expected.

Still to do: perhaps more documentation; change standard library
modules to return False/True from predicates.
diff --git a/Include/Python.h b/Include/Python.h
index 934997f..f440a3a 100644
--- a/Include/Python.h
+++ b/Include/Python.h
@@ -79,6 +79,7 @@
 
 #include "unicodeobject.h"
 #include "intobject.h"
+#include "boolobject.h"
 #include "longobject.h"
 #include "floatobject.h"
 #ifndef WITHOUT_COMPLEX