Speed-up deque indexing by changing the deque block length to a power of two.

The division and modulo calculation in deque_item() can be compiled
to fast bitwise operations when the BLOCKLEN is a power of two.

Timing before:

 ~/cpython $ py -m timeit -r7 -s 'from collections import deque' -s 'd=deque(range(10))' 'd[5]'
10000000 loops, best of 7: 0.0627 usec per loop

Timing after:

~/cpython $ py -m timeit -r7 -s 'from collections import deque' -s 'd=deque(range(10))' 'd[5]'
10000000 loops, best of 7: 0.0581 usec per loop
Issue #17860: explicitly mention that std* streams are opened in binary mode by default.

The documentation does mention that the streams are opened in text mode
when univeral_newlines is true, but not that that they are opened in
binary mode when that argument is false and that seems to confuse at
least some users.
(3.3->default) Issue #17860: explicitly mention that std* streams are opened in binary mode by default.

The documentation does mention that the streams are opened in text mode
when univeral_newlines is true, but not that that they are opened in
binary mode when that argument is false and that seems to confuse at
least some users.
Issue #18375: Assume --randomize when --randseed is used for running the testsuite.
Issue #18375: merge with 3.3
Issue #12990: The "Python Launcher" on OSX could not launch python scripts that have paths that include wide characters.
(3.3->default) Issue #12990: The "Python Launcher" on OSX could not launch python scripts that have paths that include wide characters.
test_ftplib: silence a BytesWarning when checking TypeError
test_ftplib: silence a BytesWarning when checking TypeError
#18380: pass regex flags to the right argument.  Patch by Valentina Mukhamedzhanova.
#18380: merge with 3.3.
Issue #18364: Stop using the ImportError._not_found hack.

The private attribute was leaking out of importlib and led to at least
one person noticing it. Switch to another hack which won't leak
outside of importlib and is nearly as robust.
Remove unnecessary branches from count() and reverse().
Issue #18351: Fix various issues with
importlib._bootstrap._get_sourcefile().

Thanks to its only use by the C API, it was never properly tested
until now.

Thanks to Neal Norwitz for discovering the bug and Madison May for the patch.
Refactor deque_traverse().

Hoist conditional expression out of the loop.
Use rightblock as the guard instead of checking for NULL.
merge for issue #18351.
merge