#17657: Show full Tk version in IDLE's about dialog.
Patch by Todd Rovito.
#17657: merge with 3.3.
#17648 - Clean up test_urllib2.py. Converted doctests to unittest for
expansion.
#17648 - convert test_urllib2.py doctests to unittests
null merge
#17678: Fix DeprecationWarning in the http/cookiejar.py by changing the usage
of get_origin_req_host() to origin_req_host.

Patch by Wei-Cheng Pan
#17678: Remove the use of a deprecated method http/cookiejar.py. Changing the
usage of get_origin_req_host() to origin_req_host.

Patch by Wei-Cheng Pan
Do not raise exception on close() on account of socket attribute still being None:

>>> import asyncore
>>> d = asyncore.dispatcher()
>>> d.close()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.4/asyncore.py", line 401, in close
    self.socket.close()
AttributeError: 'NoneType' object has no attribute 'close'
>>>
merge heads
Add fast-path in PyUnicode_DecodeCharmap() for pure 8 bit encodings:
cp037, cp500 and iso8859_1 codecs
Use PyUnicode_READ() instead of PyUnicode_READ_CHAR()

"PyUnicode_READ_CHAR() is less efficient than PyUnicode_READ() because it calls
PyUnicode_KIND() and might call it twice." according to its documentation.
Optimize make_bloom_mask(), used by str.strip(), str.lstrip() and str.rstrip()

Write specialized functions per Unicode kind to avoid the expensive
PyUnicode_READ() macro.
Optimize PyUnicode_DecodeCharmap()

Avoid expensive PyUnicode_READ() and PyUnicode_WRITE(), manipulate pointers
instead.
Fix _PyUnicode_XStrip()

Inline the BLOOM_MEMBER() to only call PyUnicode_READ() only once (per loop
iteration). Store also the length of the seperator in a variable to avoid calls
to PyUnicode_GET_LENGTH().
Fix do_strip(): don't call PyUnicode_READ() in Py_UNICODE_ISSPACE() to not call
it twice
Don't calls macros in PyUnicode_WRITE() parameters

PyUnicode_WRITE() expands some parameters twice or more.
Write super-fast version of str.strip(), str.lstrip() and str.rstrip() for pure ASCII
replace(): only call PyUnicode_DATA(u) once
Issue #17093,17566,17567: Methods from classes in importlib.abc now raise/return
the default exception/value when called instead of raising/returning
NotimplementedError/NotImplemented (except where appropriate).
This should allow for the ABCs to act as the bottom/end of the MRO with expected
default results.

As part of this work, also make importlib.abc.Loader.module_repr()
optional instead of an abstractmethod.
What's new entry for issue #17093