#6490: Expand documentation for os.popen().

Patch by Sam Kimbrel.
Try to fix buildbot failures on old OpenSSLs (< 1.0.0) - followup to issue #21015
Try to fix buildbot failures on old OpenSSLs (< 1.0.0) - followup to issue #21015
Issue #20896: ssl.get_server_certificate() now uses PROTOCOL_SSLv23, not PROTOCOL_SSLv3, for maximum compatibility.
Address issue 18229 - Explain http.server.BaseHTTPRequestHandler's .headers attribute further.

Initial patch by Caelyn McAulay.
merge 3.4
Closes Issue 21238: New keyword argument `unsafe` to Mock.

It raises `AttributeError` incase of an attribute startswith assert
or assret.
Closes Issue 21262: New method assert_not_called for Mock.

It raises AssertionError if the mock has been called.
use the called property of the run_pip mock rather than an assertion method that doesn't exist
merge 3.4
remove superfluous and useless line
merge 3.4
Removes unused varargs and varkwargs from assert_not_called().
Fix Tools/scripts/generate_opcode_h.py from issue #17861 to work correctly
when building in a separate object tree. More people should build this way.
This may still fail if the source is unwritable, I haven't tested that yet.
#18628: clarify index entry for source file encoding declaration.

Patch by Sam Lucidi.
Merge: #18628: clarify index entry for source file encoding declaration.
Correct the URL in the http.client example. Noted by Evens Fortuné. Closes #21229
merge 3.4
Clarify BROWSER envar behavior in webbrowser.py. Noted by David Turner. Closes #21248
merge 3.4