Factor out code used by packaging commands for HTTP requests (#12169).

We now have one function to prepare multipart POST requests, and we use
CRLF, as recommended by the HTTP spec (#10150).  Initial patch by John
Edmonds.
diff --git a/Misc/NEWS b/Misc/NEWS
index 404185d..c45a725 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -219,6 +219,9 @@
 Library
 -------
 
+- Issues #12169 and #10510: Factor out code used by various packaging commands
+  to make HTTP POST requests, and make sure it uses CRLF.
+
 - Issue #12016: Multibyte CJK decoders now resynchronize faster. They only
   ignore the first byte of an invalid byte sequence. For example,
   b'\xff\n'.decode('gb2312', 'replace') gives '\ufffd\n' instead of '\ufffd'.