whatsnew: Request.method can be overridden in subclasses (#18978).

Jason doced the change in the constructor *method* description, but
not the description of Request.method, so I added the change there
as well.
whatsnew: logging SocketHandler and DatagramHandler support Unix domain sockets.
whatsnew: encoding is now optional in PYTHONIOENCODING (#18818)
Fix typo (issue #19619).
Null merge
Issue #20765: Add missing documentation for PurePath.with_name() and PurePath.with_suffix().
Fix formatting in NEWS entry.
whatsnew: DynanicClassAttribute (#19030), Py_SetStandardStreamEncoding (#16129)

Adding missing docs for DynamicClassAttribute by copying the docstring.  The
doc entry could stand some expansion, which I will note on the issue.
Mention issue 20621 fix in the NEWS file for 3.3.5rc1.
This bug was of the major reasons for the release.
null merge
asyncio: Replace "unittest.mock" with "mock" in unit tests

Use "from unittest import mock". It should simplify my work to merge new tests
in Trollius, because Trollius uses "mock" backport for Python 2.
asyncio: Fix pyflakes warnings: remove unused variables and imports
asyncio: simplify test_events.py, don't use non local variables and don't call
assert methods in coroutines.

It also simplify merges from Tulip to Trollius (Python 2 does not support non
local variables).
Issue #20759: Fix some typos in the mock docs.
Close #20759: Fix some typos in the mock docs. (Merge with 3.3)
asyncio/windows_events.py: use more revelant names to overlapped callbacks

For example: "finish_recv", not just "finish".
Fix several C-API doc typos caught by tomo cocoa on docs@.

The signature and description of PyException_SetCause now use "cause"
rather than "ctx" to match the code.
Merge with 3.3
Added tests for issue #20501.
Added tests for issue #20501.