The various datetime object __setstate__() methods are no longer public
(pickling no longer needs them, and immutable objects shouldn't have
visible __setstate__() methods regardless).  Rearranged the code to
put the internal setstate functions in the constructor sections.
Repaired the timedelta reduce() method, which was still producing
stuff that required a public timedelta.__setstate__() when unpickling.
diff --git a/Misc/NEWS b/Misc/NEWS
index 8075943..38e7db2 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -24,7 +24,7 @@
   See SF bug #667147.
 
 - Fixed an invalid RuntimeWarning and an undetected error when trying
-  to convert a long integer into a float which couldn't fit.  
+  to convert a long integer into a float which couldn't fit.
   See SF bug #676155.
 
 Extension modules
@@ -126,6 +126,11 @@
   possible to have timestamps that differ by a second, yet where
   datetimes constructed from them are equal.
 
+  The pickle format of date, time and datetime objects has changed
+  completely.  The undocumented pickler and unpickler functions no
+  longer exist.  The undocumented __setstate__() methods no longer
+  exist either.
+
 Library
 -------