#17740: fix links to the socket function.  Initial patch by Zachary Ware.
#17740: merge with 3.3.
#17766: test_iterlen now works with unittest test discovery.  Patch by Zachary Ware.
#17766: merge with 3.3.
#17771: fix typo.  Patch by Andriy Mysyk.
#17771: merge with 3.3.
#14735: Update IDLE docs to omit "Control-z on Windows".
#14735: merge with 3.3.
Fix issue #17707: multiprocessing.Queue's get() method does not block for short timeouts.
Fix issue #17707: multiprocessing.Queue's get() method does not block for short timeouts.
merge 3.3
Issue #17555: Fix ForkAwareThreadLock so that size of after fork
registry does not grow exponentially with generation of process.
- Issue #17782: Fix undefined behaviour on platforms where ``struct timespec``'s "tv_nsec" member is not a C long.
Issue #17782: Fix undefined behaviour on platforms where ``struct timespec``'s "tv_nsec" member is not a C long.
Issue #17555: Fix ForkAwareThreadLock so that size of after fork
registry does not grow exponentially with generation of process.
Merge.
Merge.
Merge.
Close #17694: Add minimum length to _PyUnicodeWriter

 * Add also min_char attribute to _PyUnicodeWriter structure (currently unused)
 * _PyUnicodeWriter_Init() has no more argument (except the writer itself):
   min_length and overallocate must be set explicitly
 * In error handlers, only enable overallocation if the replacement string
   is longer than 1 character
 * CJK decoders don't use overallocation anymore
 * Set min_length, instead of preallocating memory using
   _PyUnicodeWriter_Prepare(), in many decoders
 * _PyUnicode_DecodeUnicodeInternal() checks for integer overflow