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/Lib/test/test_generators.py b/Lib/test/test_generators.py
index fb92ef4..77c477f 100644
--- a/Lib/test/test_generators.py
+++ b/Lib/test/test_generators.py
@@ -386,10 +386,10 @@
 >>> print i.next.__doc__
 x.next() -> the next value, or raise StopIteration
 >>> iter(i) is i
-1
+True
 >>> import types
 >>> isinstance(i, types.GeneratorType)
-1
+True
 
 And more, added later.
 
@@ -1218,16 +1218,16 @@
 >>> for n in range(10):
 ...     all = list(gencopy(conjoin([lambda: iter((0, 1))] * n)))
 ...     print n, len(all), all[0] == [0] * n, all[-1] == [1] * n
-0 1 1 1
-1 2 1 1
-2 4 1 1
-3 8 1 1
-4 16 1 1
-5 32 1 1
-6 64 1 1
-7 128 1 1
-8 256 1 1
-9 512 1 1
+0 1 True True
+1 2 True True
+2 4 True True
+3 8 True True
+4 16 True True
+5 32 True True
+6 64 True True
+7 128 True True
+8 256 True True
+9 512 True True
 
 And run an 8-queens solver.