#17616: Improve context manager tests, fix bugs in close method and mode docs.

'mode' docs fix: the file must always be opened in binary in Python3.

Bug in Wave_write.close: when the close method calls the check that the header
exists and it raises an error, the _file attribute never gets set to None, so
the next close tries to close the file again and we get an ignored traceback
in the __del__ method.  The fix is to set _file to None in a finally clause.
This represents a behavior change...in theory a program could be checking for
the error on close and then doing a recovery action on the still open file and
closing it again.  But this change will only go into 3.4, so I think that
behavior change is acceptable given that it would be pretty weird and unlikely
logic to begin with.
Issue #9035: os.path.ismount now recognises volumes mounted below
a drive root on Windows. Original patch by Atsuo Ishimoto.
issue9035: Prevent Windows-specific tests from running on non-Windows platforms
- Issue #18257: Fix readlink usage in python-config.  Install the python
  version again on Darwin.
Add UUID for 3.4.
Issue #18569: The installer now adds .py to the PATHEXT variable
when extensions are registered. Patch by Paul Moore.
Add a test for module weakrefability
Remove Lib/site.py hack to unregister patched builtins.
It creates a refleak in subinterpreters, as atexit callbacks aren't triggered at their end.
test_capi: make a specific test case for the subinterpreter test
(it was wrongly classified in the pending calls test case)
Issue #18619: Fix atexit leaking callbacks registered from sub-interpreters, and make it GC-aware.
Issue #18608: Avoid keeping a strong reference to the locale module inside the _io module.
Issue #18589: fix hyperlinking of type slots (tp_*)
Issue #18589: fix hyperlinking of type slots (tp_*)
Issue #10241: Clear extension module dict copies at interpreter shutdown.
Patch by Neil Schemenauer, minimally modified.
Fix the RLIMIT_CORE resource lowering logic in test_subprocess.
We must only lower the soft limit, since lowering the hard limit makes it impossible to raise it back at the end.
(this could prevent core dumps from being generated when the test suite crashes)