Issue #3583: mention that testing whether a bad address not triggering
an OSError can mean a bad DNS server and not an actual bug.
Closes #16936: fix duplicate/ambiguous description of stat.S_IFMT in the docs.
merge with 3.3
Issue #15539: Fix a backup file creation in pindent.py on Windows.
Issue #15539: Fix a backup file creation in pindent.py on Windows.
Issue #15539: Fix a backup file creation in pindent.py on Windows.
Issue #16730: Don't raise an exception in
importlib.machinery.FileFinder when the directory has become
unreadable or a file. This brings semantics in line with Python 3.2
import.

Reported and diagnosed by David Pritchard.
Merge from 3.3 for fix for issue #16730
merge
merge
merge
Issue #15031: Refactor some code in importlib pertaining to validating
and compiling bytecode.

Thanks to Ronan Lamy for pointing the redundancy and taking an initial
stab at the refactor (as did Nick Coghlan).
Closes #16613: Added optional mapping argument to ChainMap.new_child.
Issue #16933 (2.7 forward-port): Improve choices examples in argparse docs.
Issue #16933 (merge from 3.2): Improve choices examples in argparse docs.
Issue #16933 (merge from 3.3): Improve choices examples in argparse docs.
Issue #16398: Optimize deque.rotate()
#16940: fix indentation in example.
#16940: merge with 3.2.
#16940: merge with 3.3.