bpo-34044: subprocess.Popen copies startupinfo (GH-8090) (GH-8121)

subprocess.Popen now copies the startupinfo argument to leave it
unchanged: it will modify the copy, so that the same STARTUPINFO
object can be used multiple times.

Add subprocess.STARTUPINFO._copy() private method.

Python 3.7 backport from master makes the copy() private: renamed to
_copy().

(cherry picked from commit 483422f57e5d8c8bf8820fec29fc9b96bb15d4ef)
3 files changed