Implement PEP 238 in its (almost) full glory.

This introduces:

- A new operator // that means floor division (the kind of division
  where 1/2 is 0).

- The "future division" statement ("from __future__ import division)
  which changes the meaning of the / operator to implement "true
  division" (where 1/2 is 0.5).

- New overloadable operators __truediv__ and __floordiv__.

- New slots in the PyNumberMethods struct for true and floor division,
  new abstract APIs for them, new opcodes, and so on.

I emphasize that without the future division statement, the semantics
of / will remain unchanged until Python 3.0.

Not yet implemented are warnings (default off) when / is used with int
or long arguments.

This has been on display since 7/31 as SF patch #443474.

Flames to /dev/null.
diff --git a/Include/pythonrun.h b/Include/pythonrun.h
index 7d947df..55e1ddd 100644
--- a/Include/pythonrun.h
+++ b/Include/pythonrun.h
@@ -12,6 +12,7 @@
    accordingly then. */
 #define PyCF_NESTED_SCOPES	(0x00000001UL)
 #define PyCF_GENERATORS		(0x00000002UL)
+#define PyCF_DIVISION		(0x00000004UL)
 typedef struct {
 	unsigned long cf_flags;  /* bitmask of PyCF_xxx flags */
 } PyCompilerFlags;