#5609 - test_urllib coverage for url2pathname and pathname2url. Patch
contribution by Thomas Fenzl & Maksim Kozyarchuk
merge from 3.3

#5609 - test_urllib coverage for url2pathname and pathname2url. Patch
contribution by Thomas Fenzl & Maksim Kozyarchuk
normalize whitespace. caught by hook
normalize whitespace
null merge
#14971: Use class method name, not function.__name__, during unittest discovery.
Merge #14971: Use class method name, not function.__name__, during unittest discovery.
Fix invalid markup.
#17690: test_time now works with unittest test discovery.  Patch by Zachary Ware.
#17690: merge with 3.3.
Fix a crash when setting a servername callback on a SSL server socket and the client doesn't send a server name.
Patch by Kazuhiro Yoshida.
(originally issue #8109)
Fix supernumerary 's' in sys._debugmallocstats() output.
Fix supernumerary 's' in sys._debugmallocstats() output.
python-gdb.py: Replace invalid Unicode character with U+FFFD to be able to
display invalid strings. Such strings can be found while Python is creating a
new string, in a text decoder for example, when Python is compiled in debug
mode.
Close #17693: Rewrite CJK decoders to use the _PyUnicodeWriter API instead of
the legacy Py_UNICODE API.

Add also a new _PyUnicodeWriter_WriteChar() function.
Issue #13056: Reenable test_multibytecodec.Test_StreamWriter tests
#17699: Fix the new getpass test failures on windows.

Patch by Zachary Ware.