Minor cosmetic enhancement to provide a more readable repr()esentation of Extension instances:

- <distutils.extension.Extension at 0x2b2088b79b00>
+ <distutils.extension.Extension('_struct') at 0x2b2088b79b00>
inspect.signature: Use enum for parameter kind constants. Closes #19573

Patch by Antony Lee.
inspect.signature: Make Signature and Parameter picklable. Closes #20726
inspect.Signature: Add 'Signature.from_callable' classmethod. Closes #17373
asyncio.tests: Autodiscover asyncio tests. Patch by Vajrasky Kok. Closes #20668
asyncio.tests: Autodiscover asyncio tests. Patch by Vajrasky Kok. Closes #20668
inspect.signature: Improve repr of Signature and Parameter. Closes #20378
inspect: Fix getcallargs() to raise correct TypeError

... for missing keyword-only arguments. Patch by Jeremiah Lowin.
Closes #20816.
inspect: Fix getcallargs() to raise correct TypeError

... for missing keyword-only arguments. Patch by Jeremiah Lowin.
Closes #20816.
inspect: Fix getcallargs() to fail correctly if more than 3 args are missing.

Patch by Jeremiah Lowin. Closes #20817.
inspect: Fix getcallargs() to fail correctly if more than 3 args are missing.

Patch by Jeremiah Lowin. Closes #20817.
Issue #6676: Ensure a meaningful exception is raised when attempting
to parse more than one XML document per pyexpat xmlparser instance.
(Original patches by Hirokazu Yamamoto and Amaury Forgeot d'Arc, with
suggested wording by David Gutteridge)
Issue #6676: merge from 3.4
Issue #17654: Ensure IDLE menus are customized properly on OS X for
non-framework builds and for all variants of Tk.
Issue #17654: merge from 3.4