bpo-36146: Split setup.py into subfunctions by vstinner · Pull Request #12125 · python/cpython

@vstinner

* Split PyBuildExt.detect_modules() huge function into subfunctions.
* Move curses, hashlib and some other code to reorganize the code.
* detect_tkinter() now returns False if the extension is missing.
* Add PyBuildExt.config_h_vars attribute